23 lines
772 B
YAML
23 lines
772 B
YAML
services:
|
|
rsync:
|
|
image: alpine:latest
|
|
user: "0:0"
|
|
command: >
|
|
sh -c " apk add --no-cache rsync && echo '0 2 * * * rsync -av --no-perms --no-owner --no-group --exclude-from=/excludes.txt /source/ /destination/ && echo \"Sync completed at $$(date)\"' | crontab - && echo 'Backup sync started. Daily sync at 2 AM.' && crond -f -l 2"
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 30s
|
|
placement:
|
|
constraints: [ node.role == manager ]
|
|
volumes:
|
|
- /home/doc/projects/swarm-data/appdata:/source:ro
|
|
- /home/doc/projects/backups:/destination
|
|
- /home/doc/projects/swarm/conf/rsync-conf/excludes.txt:/excludes.txt:ro
|
|
networks:
|
|
- homelab
|
|
networks:
|
|
homelab:
|
|
external: true
|