make linuxserver.io duplicati image as the base
Some checks failed
Build and Push Docker Image / build (push) Failing after 24s
Some checks failed
Build and Push Docker Image / build (push) Failing after 24s
This commit is contained in:
20
Dockerfile
20
Dockerfile
@@ -1,8 +1,24 @@
|
|||||||
# === Dockerfile ===
|
# === Dockerfile ===
|
||||||
FROM postgres:17-alpine
|
FROM ghcr.io/linuxserver/duplicati:2.1.0
|
||||||
|
|
||||||
|
# Remove old docker
|
||||||
|
RUN for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt-get remove $pkg; done
|
||||||
# Install Docker CLI + bash + core utilities
|
# Install Docker CLI + bash + core utilities
|
||||||
RUN apk add --no-cache docker-cli bash coreutils btrfs-progs \
|
RUN apt-get update \
|
||||||
|
&& apt-get install ca-certificates curl \
|
||||||
|
&& install -m 0755 -d /etc/apt/keyrings \
|
||||||
|
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc \
|
||||||
|
&& chmod a+r /etc/apt/keyrings/docker.asc \
|
||||||
|
&& echo \
|
||||||
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||||
|
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
|
||||||
|
tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||||
|
&& apt-get update
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RUN apt-get -y install docker-ce docker-ce-cli \
|
||||||
|
&& containerd.io docker-buildx-plugin docker-compose-plugin postrgres17 \
|
||||||
&& mkdir -p /backups
|
&& mkdir -p /backups
|
||||||
|
|
||||||
# Copy backup script
|
# Copy backup script
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ while true; do
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "[INFO] Creating a snapshot of /srv/appdata"
|
||||||
btrfs subvolume snapshot -r /source/appdata /backups/snapshots/$(hostname)-$(date +%F)
|
btrfs subvolume snapshot -r /source/appdata /backups/snapshots/$(hostname)-$(date +%F)
|
||||||
|
|
||||||
echo "[INFO] Backup cycle complete."
|
echo "[INFO] Backup cycle complete."
|
||||||
|
|||||||
@@ -4,12 +4,22 @@ services:
|
|||||||
container_name: backupbot
|
container_name: backupbot
|
||||||
privileged: true
|
privileged: true
|
||||||
environment:
|
environment:
|
||||||
|
- PUID=0
|
||||||
|
- PGID=0
|
||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
|
- SETTINGS_ENCRYPTION_KEY=${KEY}
|
||||||
|
- CLI_ARGS= #optional
|
||||||
|
- DUPLICATI__WEBSERVICE_PASSWORD=${PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
# Backup folder to store dumps (accessible by Duplicati)
|
# Config dir for duplicati
|
||||||
|
- /srv/appdata/duplicati/config:/config
|
||||||
|
# Backup folder to store dumps/backups
|
||||||
- /srv/backups:/backups
|
- /srv/backups:/backups
|
||||||
# Local docker config dirs
|
# Local docker config dirs
|
||||||
- /srv/appdata:/source/appdata:rshared
|
- /srv/appdata:/source/appdata:rshared
|
||||||
# Docker socket to list containers
|
# Docker socket to list containers
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- 8200:8200
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
Reference in New Issue
Block a user