add Rclone backup and cleanup services with cronjob configuration in docker-compose.yml
Some checks failed
Portainer Stack Update / update_stack (push) Has been cancelled
Some checks failed
Portainer Stack Update / update_stack (push) Has been cancelled
This commit is contained in:
parent
806723f03d
commit
16363a8097
@ -5,6 +5,20 @@ x-traefik-enable-labels: &traefik-labels
|
|||||||
traefik.swarm.network: "traefik"
|
traefik.swarm.network: "traefik"
|
||||||
traefik.constraint-label: "traefik"
|
traefik.constraint-label: "traefik"
|
||||||
|
|
||||||
|
x-cron-deploy: &cron-deploy
|
||||||
|
mode: replicated
|
||||||
|
replicas: 0
|
||||||
|
update_config:
|
||||||
|
parallelism: 1
|
||||||
|
delay: 5s
|
||||||
|
order: stop-first
|
||||||
|
failure_action: rollback
|
||||||
|
rollback_config:
|
||||||
|
order: stop-first
|
||||||
|
restart_policy:
|
||||||
|
condition: none
|
||||||
|
|
||||||
|
|
||||||
x-api-deploy: &api-deployment
|
x-api-deploy: &api-deployment
|
||||||
mode: replicated
|
mode: replicated
|
||||||
update_config:
|
update_config:
|
||||||
@ -108,6 +122,41 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
<<: *api-deployment
|
<<: *api-deployment
|
||||||
|
|
||||||
|
rclone-sync:
|
||||||
|
image: rclone/rclone:latest
|
||||||
|
entrypoint: ""
|
||||||
|
command: /bin/sh -c 'rclone sync /data GDrive:Backups/immich/full_backup --backup-dir=GDrive:Backups/immich/archive/$(date +%Y-%m-%d) --progress'
|
||||||
|
volumes:
|
||||||
|
- data:/data:ro
|
||||||
|
secrets:
|
||||||
|
- source: rclone-config
|
||||||
|
target: /config/rclone/rclone.conf
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Budapest
|
||||||
|
deploy:
|
||||||
|
<<: *cron-deploy
|
||||||
|
labels:
|
||||||
|
swarm.cronjob.enable: "false"
|
||||||
|
swarm.cronjob.skip-running: "true"
|
||||||
|
swarm.cronjob.schedule: "0 2 * * *"
|
||||||
|
|
||||||
|
rclone-cleanup:
|
||||||
|
image: rclone/rclone:latest
|
||||||
|
command: delete GDrive:Backups/immich/archive --min-age 60d --rmdirs --progress --dry-run
|
||||||
|
volumes:
|
||||||
|
- data:/data:ro
|
||||||
|
secrets:
|
||||||
|
- source: rclone-config
|
||||||
|
target: /config/rclone/rclone.conf
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Budapest
|
||||||
|
deploy:
|
||||||
|
<<: *cron-deploy
|
||||||
|
labels:
|
||||||
|
swarm.cronjob.enable: "false"
|
||||||
|
swarm.cronjob.skip-running: "true"
|
||||||
|
swarm.cronjob.schedule: "0 4 * * *"
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
local:
|
local:
|
||||||
@ -155,4 +204,7 @@ secrets:
|
|||||||
db_password:
|
db_password:
|
||||||
name: postgres-password
|
name: postgres-password
|
||||||
external: true
|
external: true
|
||||||
|
rclone-config:
|
||||||
|
name: google-drive-rclone-config
|
||||||
|
external: true
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user