Skip to content

Rebase to noble (master) #80

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

Closed
wants to merge 5 commits into from
Closed
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
14 changes: 6 additions & 8 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 @@ -10,18 +10,15 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca"

# environment settings
ENV HOME="/config"
ENV DEBIAN_FRONTEND="noninteractive"
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config" \
TMPDIR=/run/duplicati-temp

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 \
Expand All @@ -35,6 +32,7 @@ RUN \
/tmp/duplicati.zip -L \
"${duplicati_url}" && \
unzip -q /tmp/duplicati.zip -d /app/duplicati && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apt-get clean && \
rm -rf \
Expand Down
14 changes: 6 additions & 8 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 @@ -10,18 +10,15 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca"

# environment settings
ENV HOME="/config"
ENV DEBIAN_FRONTEND="noninteractive"
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config" \
TMPDIR=/run/duplicati-temp

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 pockages ****" && \
apt-get update && \
apt-get install -y \
mono-devel \
mono-vbnc \
libicu74 \
unzip && \
echo "**** install duplicati ****" && \
if [ -z ${DUPLICATI_RELEASE+x} ]; then \
Expand All @@ -35,6 +32,7 @@ RUN \
/tmp/duplicati.zip -L \
"${duplicati_url}" && \
unzip -q /tmp/duplicati.zip -d /app/duplicati && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apt-get clean && \
rm -rf \
Expand Down
4 changes: 2 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ pipeline {
CI_PORT='8200'
CI_SSL='false'
CI_DELAY='120'
CI_DOCKERENV='TZ=US/Pacific|ISCI=true'
CI_AUTH='user:password'
CI_DOCKERENV=''
CI_AUTH=''
CI_WEBPATH=''
}
stages {
Expand Down
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ This image provides various versions that are available via tags. Please read th

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](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 All @@ -88,7 +93,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 +111,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 All @@ -127,6 +132,7 @@ 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 @@ -289,7 +295,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64

## Versions

* **15.02.23:** - Deprecate armhf.
* **14.08.24:** - Rebase to Noble, switch to dotnet core.
* **03.08.22:** - Deprecate armhf.
* **25.04.22:** - Rebase to mono:focal.
* **01.08.19:** - Rebase to Linuxserver LTS mono version.
Expand Down
5 changes: 2 additions & 3 deletions jenkins-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ external_type: custom_json
release_type: stable
release_tag: latest
ls_branch: master
build_armhf: false
repo_vars:
- JSON_URL = 'https://api.github.com/repos/duplicati/duplicati/releases'
- JSON_PATH = 'first(.[] | select(.tag_name | contains("beta"))) | .tag_name'
Expand All @@ -24,6 +23,6 @@ repo_vars:
- CI_PORT='8200'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific|ISCI=true'
- CI_AUTH='user:password'
- CI_DOCKERENV=''
- CI_AUTH=''
- CI_WEBPATH=''
11 changes: 3 additions & 8 deletions readme-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,19 @@ 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: ""
readonly_supported: true

# application setup block
app_setup_block_enabled: true
Expand All @@ -49,7 +44,7 @@ app_setup_block: |

# changelog
changelogs:
- { date: "15.02.23:", desc: "Deprecate armhf." }
- { date: "14.08.24:", desc: "Rebase to Noble, switch to dotnet core." }
- { date: "03.08.22:", desc: "Deprecate armhf." }
- { date: "25.04.22:", desc: "Rebase to mono:focal." }
- { date: "01.08.19:", desc: "Rebase to Linuxserver LTS mono version." }
Expand Down
7 changes: 5 additions & 2 deletions root/etc/s6-overlay/s6-rc.d/init-duplicati-config/run
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash

# permissions
mkdir -p /run/duplicati-temp

# permissions
lsiown -R abc:abc \
/config
/config \
/run/duplicati-temp
15 changes: 11 additions & 4 deletions root/etc/s6-overlay/s6-rc.d/svc-duplicati/run
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash

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