Skip to content

Commit

Permalink
Merge pull request #77 from linuxserver/dev-noble
Browse files Browse the repository at this point in the history
rebase to noble, switch to net core
  • Loading branch information
aptalca authored May 30, 2024
2 parents bfd5120 + a138c52 commit 7259b31
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 34 deletions.
20 changes: 8 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1

FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble

# set version label
ARG BUILD_DATE
Expand All @@ -14,28 +14,24 @@ ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config"

RUN \
echo "**** add mono repository ****" && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
echo "deb http://download.mono-project.com/repo/ubuntu stable-focal main" | tee /etc/apt/sources.list.d/mono-official.list && \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y \
mono-devel \
mono-vbnc \
libicu74 \
unzip && \
echo "**** install duplicati ****" && \
if [ -z ${DUPLICATI_RELEASE+x} ]; then \
DUPLICATI_RELEASE=$(curl -sX GET "https://api.github.com/repos/duplicati/duplicati/releases" \
| jq -r 'first(.[] | select(.tag_name | contains("canary"))) | .tag_name'); \
fi && \
mkdir -p \
/app/duplicati && \
duplicati_url=$(curl -s https://api.github.com/repos/duplicati/duplicati/releases/tags/"${DUPLICATI_RELEASE}" |jq -r '.assets[].browser_download_url' |grep '.zip$' |grep -v signatures) || \
duplicati_url="https://updates.duplicati.com/canary/duplicati-$(echo $DUPLICATI_RELEASE | sed 's|^v[0-9.]*-||').zip" && \
curl -fso \
duplicati_url=$(curl -s https://api.github.com/repos/duplicati/duplicati/releases/tags/"${DUPLICATI_RELEASE}" |jq -r '.assets[].browser_download_url' |grep 'linux-x64-gui.zip$') || \
duplicati_url="https://updates.duplicati.com/canary/duplicati-${DUPLICATI_RELEASE}-linux-x64-gui.zip" && \
curl -fo \
/tmp/duplicati.zip -L \
"${duplicati_url}" && \
unzip -q /tmp/duplicati.zip -d /app/duplicati && \
unzip -q /tmp/duplicati.zip -d /app && \
mv /app/duplicati* /app/duplicati && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apt-get clean && \
rm -rf \
Expand Down
18 changes: 7 additions & 11 deletions Dockerfile.aarch64
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1

FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble

# set version label
ARG BUILD_DATE
Expand All @@ -14,28 +14,24 @@ ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config"

RUN \
echo "**** add mono repository ****" && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
echo "deb http://download.mono-project.com/repo/ubuntu stable-focal main" | tee /etc/apt/sources.list.d/mono-official.list && \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y \
mono-devel \
mono-vbnc \
libicu74 \
unzip && \
echo "**** install duplicati ****" && \
if [ -z ${DUPLICATI_RELEASE+x} ]; then \
DUPLICATI_RELEASE=$(curl -sX GET "https://api.github.com/repos/duplicati/duplicati/releases" \
| jq -r 'first(.[] | select(.tag_name | contains("canary"))) | .tag_name'); \
fi && \
mkdir -p \
/app/duplicati && \
duplicati_url=$(curl -s https://api.github.com/repos/duplicati/duplicati/releases/tags/"${DUPLICATI_RELEASE}" |jq -r '.assets[].browser_download_url' |grep '.zip$' |grep -v signatures) || \
duplicati_url="https://updates.duplicati.com/canary/duplicati-$(echo $DUPLICATI_RELEASE | sed 's|^v[0-9.]*-||').zip" && \
duplicati_url=$(curl -s https://api.github.com/repos/duplicati/duplicati/releases/tags/"${DUPLICATI_RELEASE}" |jq -r '.assets[].browser_download_url' |grep 'linux-arm64-gui.zip$') || \
duplicati_url="https://updates.duplicati.com/canary/duplicati-${DUPLICATI_RELEASE}-linux-arm64-gui.zip" && \
curl -fso \
/tmp/duplicati.zip -L \
"${duplicati_url}" && \
unzip -q /tmp/duplicati.zip -d /app/duplicati && \
unzip -q /tmp/duplicati.zip -d /app && \
mv /app/duplicati* /app/duplicati && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apt-get clean && \
rm -rf \
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ services:
- TZ=Etc/UTC
- CLI_ARGS= #optional
volumes:
- /path/to/appdata/config:/config
- /path/to/duplicati/config:/config
- /path/to/backups:/backups
- /path/to/source:/source
ports:
Expand All @@ -106,7 +106,7 @@ docker run -d \
-e TZ=Etc/UTC \
-e CLI_ARGS= `#optional` \
-p 8200:8200 \
-v /path/to/appdata/config:/config \
-v /path/to/duplicati/config:/config \
-v /path/to/backups:/backups \
-v /path/to/source:/source \
--restart unless-stopped \
Expand Down Expand Up @@ -289,6 +289,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64

## Versions

* **30.05.23:** - Rebase to Noble, switch to net core.
* **15.02.23:** - Rebase to Jammy.
* **03.08.22:** - Deprecate armhf.
* **13.03.22:** - Fix artifact link.
Expand Down
10 changes: 2 additions & 8 deletions readme-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,26 @@ common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Contains all relevant configuration files." }
- { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Contains all relevant configuration files." }
- { vol_path: "/backups", vol_host_path: "/path/to/backups", desc: "Path to store local backups." }
- { vol_path: "/source", vol_host_path: "/path/to/source", desc: "Path to source for files to backup." }
param_usage_include_ports: true
param_ports:
- { external_port: "8200", internal_port: "8200", port_desc: "http gui" }
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}

# optional container parameters
opt_param_usage_include_env: true
opt_param_env_vars:
- { env_var: "CLI_ARGS", env_value: "", desc: "Optionally specify any [CLI variables](https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/) you want to launch the app with" }

# optional parameters
optional_block_1: false
optional_block_1_items: ""

# application setup block
app_setup_block_enabled: true
app_setup_block: |
The webui is at `<your ip>:8200` , create backup jobs etc via the webui, for local backups select `/backups` as the destination. For more information see [Duplicati]({{project_url}}).
# changelog
changelogs:
- { date: "30.05.23:", desc: "Rebase to Noble, switch to net core." }
- { date: "15.02.23:", desc: "Rebase to Jammy." }
- { date: "03.08.22:", desc: "Deprecate armhf." }
- { date: "13.03.22:", desc: "Fix artifact link." }
Expand Down
2 changes: 1 addition & 1 deletion root/etc/s6-overlay/s6-rc.d/svc-duplicati/run
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8200" \
cd /app/duplicati s6-setuidgid abc mono Duplicati.Server.exe \
cd /app/duplicati s6-setuidgid abc ./duplicati-server \
--webservice-interface=any --server-datafolder=/config --webservice-allowed-hostnames=* $CLI_ARGS

0 comments on commit 7259b31

Please sign in to comment.