add restic for mep-1

This commit is contained in:
Mael G. 2024-10-22 21:14:57 +02:00
parent 8ca8320ecc
commit 7e5768b449
3 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,7 @@
# Restic
Restic is the tool used to backup and restore data on the compute-1-mep server.
The ``pre_deploy.sh`` script is used as a Pre-Deploy shell command in the Komodo UI to deploy the restic container on the server with the required secrets.
Backups are ran at

View file

@ -0,0 +1,45 @@
services:
backup:
image: mazzolino/restic:1.7.2
hostname: docker
restart: unless-stopped
environment:
RUN_ON_STARTUP: "false"
BACKUP_CRON: "0 30 2 * * *"
RESTIC_REPOSITORY: ${RESTIC_BASE_URL}/compute-1-mep
RESTIC_PASSWORD: ${RESTIC_PASSWORD}
RESTIC_BACKUP_SOURCES: >-
/mnt/volumes/forgejo_server/
/mnt/volumes/freshrss_freshrss_data/
/mnt/volumes/haste_hastes/
/mnt/volumes/searx_server/
/mnt/volumes/wallabag_wallabag/
RESTIC_BACKUP_ARGS: >-
--tag plan:dockervol_dump --tag created-by:compute_1_mep
--exclude *.tmp --exclude *.log --exclude *.bak
--exclude /mnt/volumes/forgejo_server/_data/gitea/repositories
--verbose
RESTIC_FORGET_ARGS: >-
--keep-last 3
--keep-daily 7
--keep-weekly 5
--keep-monthly 12
TZ: Europe/Paris
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/mnt/volumes:ro
- ./ssh:/run/secrets/.ssh:ro
prune:
image: mazzolino/restic:1.7.2
hostname: docker
restart: unless-stopped
environment:
SKIP_INIT: "true"
RUN_ON_STARTUP: "false"
PRUNE_CRON: "0 30 5 * * *"
RESTIC_REPOSITORY: ${RESTIC_BASE_URL}/compute-1-mep
RESTIC_PASSWORD: ${RESTIC_PASSWORD}
TZ: Europe/Paris
volumes:
- ./ssh:/run/secrets/.ssh:ro

View file

@ -0,0 +1,5 @@
mkdir -p ssh
rm -rf .ssh/*
echo -n '[[RESTIC_PRIVKEY]]' | base64 --decode > ./ssh/id_ed25519
echo -n '[[RESTIC_PUBKEY]]' | base64 --decode > ./ssh/id_ed25519.pub
echo -n '[[RESTIC_KNOWN_HOSTS]]' | base64 --decode > ./ssh/known_hosts