forked from data.coop/ansible
49 lines
1.5 KiB
Django/Jinja
49 lines
1.5 KiB
Django/Jinja
# vim: ft=yaml.docker-compose
|
|
version: "3.8"
|
|
|
|
services:
|
|
backup:
|
|
image: mazzolino/restic:{{ services.restic.version }}
|
|
restart: always
|
|
environment:
|
|
RUN_ON_STARTUP: false
|
|
BACKUP_CRON: "0 30 3 * * *"
|
|
RESTIC_REPOSITORY: sftp:{{ services.restic.remote_user }}@{{ services.restic.remote_domain }}:{{ services.restic.repository }}
|
|
RESTIC_PASSWORD: "{{ restic_secrets.repository_password }}"
|
|
RESTIC_BACKUP_SOURCES: /mnt/volumes
|
|
RESTIC_BACKUP_ARGS: >-
|
|
--tag datacoop-volumes
|
|
--exclude '*.tmp'
|
|
--exclude '/mnt/volumes/mastodon/mastodon_data/cache/'
|
|
--exclude '/mnt/volumes/restic/'
|
|
--verbose
|
|
RESTIC_FORGET_ARGS: >-
|
|
--keep-last 10
|
|
--keep-daily 7
|
|
--keep-weekly 5
|
|
--keep-monthly 12
|
|
TZ: Europe/Copenhagen
|
|
POST_COMMANDS_FAILURE: /run/libexec/failure.sh
|
|
POST_COMMANDS_SUCCESS: /run/libexec/success.sh
|
|
volumes:
|
|
- "./ssh:/run/secrets/.ssh:ro"
|
|
- "./scripts:/run/libexec:ro"
|
|
- "/docker-volumes:/mnt/volumes:ro"
|
|
networks:
|
|
- postfix
|
|
|
|
prune:
|
|
image: mazzolino/restic:{{ services.restic.version }}
|
|
environment:
|
|
RUN_ON_STARTUP: false
|
|
PRUNE_CRON: "0 30 4 * * *"
|
|
RESTIC_REPOSITORY: sftp:{{ services.restic.remote_user }}@{{ services.restic.remote_domain }}:{{ services.restic.repository }}
|
|
RESTIC_PASSWORD: "{{ restic_secrets.repository_password }}"
|
|
TZ: Europe/copenhagen
|
|
volumes:
|
|
- "./ssh:/run/secrets/.ssh:ro"
|
|
|
|
networks:
|
|
postfix:
|
|
external: true
|