Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
2 changes: 1 addition & 1 deletion .github/workflows/external_trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of development branch. To disable this trigger, add \`duplicati_development\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/duplicati/duplicati/releases" | jq -r '. | first(.[] | select(.tag_name | contains("canary"))) | .tag_name')
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/duplicati/duplicati/releases" | jq -r '. | first(.[] | select(.tag_name | contains("beta"))) | .tag_name')
echo "Type is \`custom_json\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^duplicati_development_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
Expand Down
7 changes: 3 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,10 @@ RUN \
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'); \
| jq -r 'first(.[] | select(.tag_name | contains("beta"))) | .tag_name'); \
fi && \
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 -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$') && \
curl -o \
/tmp/duplicati.zip -L \
"${duplicati_url}" && \
unzip -q /tmp/duplicati.zip -d /app && \
Expand Down
9 changes: 4 additions & 5 deletions Dockerfile.aarch64
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ ENV HOME="/config" \
DUPLICATI__WEBSERVICE_ALLOWED_HOSTNAMES=*

RUN \
echo "**** install packages ****" && \
echo "**** install pockages ****" && \
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
apt-get update && \
apt-get install -y \
Expand All @@ -31,11 +31,10 @@ RUN \
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'); \
| jq -r 'first(.[] | select(.tag_name | contains("beta"))) | .tag_name'); \
fi && \
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 \
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$') && \
curl -o \
/tmp/duplicati.zip -L \
"${duplicati_url}" && \
unzip -q /tmp/duplicati.zip -d /app && \
Expand Down
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ pipeline {
QUAYIO_API_TOKEN=credentials('quayio-repo-api-token')
GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f')
JSON_URL = 'https://api.github.com/repos/duplicati/duplicati/releases'
JSON_PATH = 'first(.[] | select(.tag_name | contains("canary"))) | .tag_name'
JSON_PATH = 'first(.[] | select(.tag_name | contains("beta"))) | .tag_name'
BUILD_VERSION_ARG = 'DUPLICATI_RELEASE'
LS_USER = 'linuxserver'
LS_REPO = 'docker-duplicati'
Expand Down
20 changes: 8 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,15 @@ This image provides various versions that are available via tags. Please read th

| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Beta releases of Duplicati |
| development | ✅ | Canary releases of Duplicati |
| latest | ✅ | Stable releases of Duplicati |
| development | ✅ | Beta releases of Duplicati |

## Application Setup

The webui is at `<your ip>:8200`.

For local backups select `/backups` as the destination. For more information see [Duplicati](https://www.duplicati.com/).

## Read-Only Operation

This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).

## Usage

To help you get started creating a container from this image you can either use docker-compose or the docker cli.
Expand Down Expand Up @@ -142,7 +138,6 @@ Containers are configured using parameters passed at runtime (such as those abov
| `-v /config` | Contains all relevant configuration files. |
| `-v /backups` | Path to store local backups. |
| `-v /source` | Path to source for files to backup. |
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |

## Environment variables from files (Docker secrets)

Expand Down Expand Up @@ -306,18 +301,19 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64

## Versions

* **31.01.25:** - Make `latest` stable releases, move beta releases to `development`.
* **28.01.25:** - Add xz-utils.
* **03.12.24:** - Add mscorefonts for captcha support.
* **29.08.24:** - Add support for settings DB encryption.
* **30.05.24:** - Rebase to Noble, switch to net core.
* **29.11.24:** - Rebase to Noble, add support for settings DB encryption.
* **15.02.23:** - Rebase to Jammy.
* **03.08.22:** - Deprecate armhf.
* **13.03.22:** - Fix artifact link.
* **10.03.21:** - Rebase to focal baseimage with mono 6.12+.
* **25.04.22:** - Rebase to mono:focal.
* **01.08.19:** - Rebase to Linuxserver LTS mono version.
* **16.07.19:** - Allow for additional command line arguments in an environment variable.
* **28.06.19:** - Rebase to bionic.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
* **11.03.19:** - Rebase to bionic, add rclone.
* **28.02.19:** - Allow access from all hostnames, clarify info on image tags.
* **13.01.19:** - Use jq instead of awk in dockerfiles.
* **11.01.19:** - Multi-arch image.
* **09.12.17:** - Fix continuation lines.
* **31.08.17:** - Build only beta or release versions (thanks deasmi).
Expand Down
2 changes: 1 addition & 1 deletion jenkins-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ release_tag: development
ls_branch: development
repo_vars:
- JSON_URL = 'https://api.github.com/repos/duplicati/duplicati/releases'
- JSON_PATH = 'first(.[] | select(.tag_name | contains("canary"))) | .tag_name'
- JSON_PATH = 'first(.[] | select(.tag_name | contains("beta"))) | .tag_name'
- BUILD_VERSION_ARG = 'DUPLICATI_RELEASE'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-duplicati'
Expand Down
Loading