-
-
Notifications
You must be signed in to change notification settings - Fork 38
/
Dockerfile
54 lines (48 loc) · 1.73 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
# set version label
ARG BUILD_DATE
ARG VERSION
ARG DUPLICATI_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config" \
TMPDIR=/run/duplicati-temp \
DUPLICATI__REQUIRE_DB_ENCRYPTION_KEY=true \
DUPLICATI__SERVER_DATAFOLDER=/config \
DUPLICATI__WEBSERVICE_PORT=8200 \
DUPLICATI__WEBSERVICE_INTERFACE=any \
DUPLICATI__WEBSERVICE_ALLOWED_HOSTNAMES=*
RUN \
echo "**** install packages ****" && \
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
apt-get update && \
apt-get install -y \
libicu74 \
ttf-mscorefonts-installer \
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("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$') && \
curl -o \
/tmp/duplicati.zip -L \
"${duplicati_url}" && \
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 \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 8200
VOLUME /backups /config /source