* feat: add restic allows incremental snapshot backups remove custom push-backup script * ci: remove .git dir to skip fetch_details_from_tag fixes https://github.com/frappe/frappe_docker/actions/runs/3938883301/jobs/6738091655
1.2 KiB
1.2 KiB
Create backup service or stack.
# backup-job.yml
version: "3.7"
services:
backup:
image: frappe/erpnext:${VERSION}
entrypoint: ["bash", "-c"]
command:
- |
bench backup-all-sites
## Uncomment following to snapshot sites
# restic snapshots || restic init
# restic backup sites
environment:
# Set correct environment variables for restic
- RESTIC_REPOSITORY=s3:https://s3.endpoint.com/restic
- AWS_ACCESS_KEY_ID=access_key
- AWS_SECRET_ACCESS_KEY=secret_access_key
- RESTIC_PASSWORD=restic_password
volumes:
- "sites:/home/frappe/frappe-bench/sites"
networks:
- erpnext-network
networks:
erpnext-network:
external: true
name: ${PROJECT_NAME:-erpnext}_default
volumes:
sites:
external: true
name: ${PROJECT_NAME:-erpnext}_sites
In case of single docker host setup, add crontab entry for backup every 6 hours.
0 */6 * * * /usr/local/bin/docker-compose -f /path/to/backup-job.yml up -d > /dev/null
Or
0 */6 * * * docker compose -p erpnext exec backend bench backup-all-sites > /dev/null
Notes:
- Change the cron string as per need.
- In case of docker compose exec set the correct project name