26 lines
797 B
YAML
26 lines
797 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/swarm-data/appdata:/source:ro
|
|
- /home/doc/swarm/appdata:/destination
|
|
- /home/doc/swarm/swarm-production/conf/rsync-conf/excludes.txt:/excludes.txt:ro
|
|
networks:
|
|
- homelab
|
|
networks:
|
|
homelab:
|
|
external: true |