Backrest: install Backrest as a systemd service to simplify pre/post-backup hooks (e.g., docker compose stop/start). Do not want to overcomplicate setup and run backrest (single binary) in a container with SSHing to host and/or docker.sock access
This commit is contained in:
@@ -1,29 +0,0 @@
|
||||
services:
|
||||
backrest:
|
||||
image: ghcr.io/garethgeorge/backrest:latest
|
||||
container_name: backrest
|
||||
hostname: backrest
|
||||
networks:
|
||||
- caddy_internal
|
||||
volumes:
|
||||
- /srv/rundata/backrest/data:/data
|
||||
- /srv/rundata/backrest/config:/config
|
||||
- /srv/rundata/backrest/cache:/cache
|
||||
- /srv/rundata/backrest/tmp:/tmp
|
||||
#- /srv/rundata/backrest/rclone:/root/.config/rclone # Mount for rclone config (needed when using rclone remotes)
|
||||
- /srv/rundata:/srv/rundata:ro # Mount local paths to backup
|
||||
- /srv/photo:/srv/photo:ro # Mount local paths to backup
|
||||
- /srv/backups/backrest:/repos # Mount local repos (optional for remote storage)
|
||||
environment:
|
||||
- BACKREST_DATA=/data
|
||||
- BACKREST_CONFIG=/config/config.json
|
||||
- XDG_CACHE_HOME=/cache
|
||||
- TMPDIR=/tmp
|
||||
- TZ=Europe/Minsk
|
||||
# ports:
|
||||
# - "9898:9898"
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
caddy_internal:
|
||||
external: true
|
||||
@@ -10,58 +10,57 @@
|
||||
|
||||
(apps) {
|
||||
|
||||
@backrest host backrest.catmedved.com
|
||||
@backrest host backrest.catmedved.com
|
||||
handle @backrest {
|
||||
reverse_proxy http://backrest:9898
|
||||
reverse_proxy http://host.docker.internal:9898
|
||||
}
|
||||
|
||||
|
||||
@beszel host beszel.catmedved.com
|
||||
@beszel host beszel.catmedved.com
|
||||
handle @beszel {
|
||||
reverse_proxy http://beszel:8090
|
||||
}
|
||||
|
||||
# @copypaste host copypaste.catmedved.com
|
||||
# @copypaste host copypaste.catmedved.com
|
||||
# handle @copypaste {
|
||||
# reverse_proxy http://microbin:8080
|
||||
# }
|
||||
|
||||
@copypaste host copypaste.kladovka52.com
|
||||
@copypaste host copypaste.kladovka52.com
|
||||
handle @copypaste {
|
||||
reverse_proxy http://microbin:8080
|
||||
}
|
||||
|
||||
@gameyfin host gameyfin.catmedved.com
|
||||
@gameyfin host gameyfin.catmedved.com
|
||||
handle @gameyfin {
|
||||
reverse_proxy http://gameyfin:8080
|
||||
}
|
||||
|
||||
@gitea host gitea.catmedved.com
|
||||
@gitea host gitea.catmedved.com
|
||||
handle @gitea {
|
||||
reverse_proxy http://gitea:3000
|
||||
}
|
||||
|
||||
@music host music.catmedved.com
|
||||
@music host music.catmedved.com
|
||||
handle @music {
|
||||
reverse_proxy http://navidrome:4533
|
||||
}
|
||||
|
||||
@pdftools host pdf-tools.catmedved.com
|
||||
@pdftools host pdf-tools.catmedved.com
|
||||
handle @pdftools {
|
||||
reverse_proxy http://stirling_pdf:8080
|
||||
}
|
||||
|
||||
@pdftools_k host pdf-tools.kladovka52.com
|
||||
@pdftools_k host pdf-tools.kladovka52.com
|
||||
handle @pdftools_k {
|
||||
reverse_proxy http://stirling_pdf:8080
|
||||
}
|
||||
|
||||
@photo host photo.catmedved.com
|
||||
@photo host photo.catmedved.com
|
||||
handle @photo {
|
||||
reverse_proxy immich_server:2283
|
||||
}
|
||||
|
||||
@recepies host recepies.catmedved.com
|
||||
@recepies host recepies.catmedved.com
|
||||
handle @recepies {
|
||||
reverse_proxy http://mealie:9000
|
||||
}
|
||||
|
||||
14
hosts/home-morefine/systemd/backrest/backrest.service
Normal file
14
hosts/home-morefine/systemd/backrest/backrest.service
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Backrest
|
||||
After=network.target docker.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=backups
|
||||
ExecStart=/usr/local/bin/backrest
|
||||
WorkingDirectory=/home/backups/backrest
|
||||
# wrap with caddy reverse proxy
|
||||
Environment="BACKREST_PORT=172.17.0.1:9898"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
28
hosts/home-morefine/systemd/backrest/install.sh
Normal file
28
hosts/home-morefine/systemd/backrest/install.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#! /bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
BACKREST_VERSION='v1.11.2'
|
||||
TMPDIR="$(mktemp -d)"
|
||||
|
||||
# backrest working directory
|
||||
sudo mkdir -p /home/backups/backrest
|
||||
sudo chown backups:backups /home/backups/backrest
|
||||
|
||||
curl -fL -o "${TMPDIR}/backrest.tar.gz" \
|
||||
"https://github.com/garethgeorge/backrest/releases/download/${BACKREST_VERSION}/backrest_Linux_x86_64.tar.gz"
|
||||
|
||||
tar -xzf "${TMPDIR}/backrest.tar.gz" -C "${TMPDIR}"
|
||||
|
||||
if systemctl is-active --quiet backrest; then
|
||||
sudo systemctl stop backrest
|
||||
echo "Paused backrest for update"
|
||||
fi
|
||||
|
||||
sudo install -D -o root -g root -m 0644 ./backrest.service /etc/systemd/system/backrest.service
|
||||
sudo install -o root -g root -m 0755 "${TMPDIR}/backrest" /usr/local/bin/backrest
|
||||
|
||||
echo "Reloading systemd service"
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now backrest
|
||||
|
||||
rm -rf "${TMPDIR}"
|
||||
Reference in New Issue
Block a user