Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rebase to noble, switch to net core #77

Merged
merged 2 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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