From fe3da3dc3abfebe9ab78fde0276bca472fda392a Mon Sep 17 00:00:00 2001 From: test Date: Fri, 31 Jan 2025 21:21:54 +0100 Subject: [PATCH] add restore-cli container, to restore from backups; update compose file to 2024.12 requirements; --- .gitignore | 1 + docker-compose.prod.yml | 29 +++++++++++++++++++++++++---- docker-compose.test.yml | 29 +++++++++++++++++++++++++---- 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index d858fb7..cdf5903 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Project .env lego.env +docker-compose.yml data/* data/nginx/* !data diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index c495333..304c62e 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -64,8 +64,10 @@ services: env_file: - .env depends_on: - - postgresql - - redis + postgresql: + condition: service_healthy + redis: + condition: service_healthy networks: - backend - frontend @@ -96,8 +98,10 @@ services: env_file: - .env depends_on: - - postgresql - - redis + postgresql: + condition: service_healthy + redis: + condition: service_healthy networks: - backend @@ -188,6 +192,23 @@ services: volumes: - ./data/restic/ssh/:/run/secrets/.ssh:ro + restore-cli: + image: registry.git.base23.de/base23/backup/resticker:0.17.0 + entrypoint: /entrypoint-restore + environment: + RESTIC_REPOSITORY: sftp://${RESTIC_REPO_USER:?Restic repository user is required}@${RESTIC_REPO_ADDRESS:?Restic repository address is requried}:${RESTIC_REPO_PORT:?Restic repository port is required}//backup + RESTIC_PASSWORD: '${RESTIC_REPO_PASSWORD:?Restic repository password is required}' + TZ: Europe/Berlin + volumes: + - ./data/restic/ssh/:/run/secrets/.ssh:ro + - ./docker-compose.yml:/compose-project/docker-compose.yml:ro + - ./.env:/compose-project/.env:ro + - backups_db:/var/lib/postgresql/backups:rw + - ./data/authentik/certs:/var/lib/authentik/backups/certs:rw + - ./data/authentik/custom-templates:/var/lib/authentik/backups/templates:rw + - ./data/authentik/media:/var/lib/authentik/backups/media:rw + - ./data/.lego:/var/lib/lego/backups:rw + volumes: backups_db: diff --git a/docker-compose.test.yml b/docker-compose.test.yml index a319c24..d32d678 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -64,8 +64,10 @@ services: env_file: - .env depends_on: - - postgresql - - redis + postgresql: + condition: service_healthy + redis: + condition: service_healthy networks: - backend - web @@ -106,8 +108,10 @@ services: env_file: - .env depends_on: - - postgresql - - redis + postgresql: + condition: service_healthy + redis: + condition: service_healthy networks: - backend @@ -154,6 +158,23 @@ services: TZ: Europe/Berlin volumes: - ./data/restic/ssh/:/run/secrets/.ssh:ro + + restore-cli: + image: registry.git.base23.de/base23/backup/resticker:0.17.0 + entrypoint: /entrypoint-restore + environment: + RESTIC_REPOSITORY: sftp://${RESTIC_REPO_USER:?Restic repository user is required}@${RESTIC_REPO_ADDRESS:?Restic repository address is requried}:${RESTIC_REPO_PORT:?Restic repository port is required}//backup + RESTIC_PASSWORD: '${RESTIC_REPO_PASSWORD:?Restic repository password is required}' + TZ: Europe/Berlin + volumes: + - ./data/restic/ssh/:/run/secrets/.ssh:ro + - ./docker-compose.yml:/compose-project/docker-compose.yml:ro + - ./.env:/compose-project/.env:ro + - backups_db:/var/lib/postgresql/backups:rw + - ./data/authentik/certs:/var/lib/authentik/backups/certs:rw + - ./data/authentik/custom-templates:/var/lib/authentik/backups/templates:rw + - ./data/authentik/media:/var/lib/authentik/backups/media:rw + - ./data/.lego:/var/lib/lego/backups:rw volumes: