forked from coop-cloud/backup-bot-two
Backup Bot II: This Time It's Easily Configurable
backup.sh | ||
README.md |
Backupbot II: This Time It's Easily Configurable
Automatically backup files from running Docker Swarm services based on labels.
TODO
- Make a Docker image of this
- Rip out or improve Restic stuff
- Add secret handling for database backups
- Continuous linting with shellcheck
Label format
(Haven't done secrets yet, here are two options)
v1:
deploy:
labels:
backupbot.backup: "true"
backupbot.backup.repos: "$some_thing"
backupbot.backup.at: "* * * * *"
backupbot.backup.pre-hook: 'mysqldump -u root -p"$(cat /run/secrets/db_root_password)" -f /tmp/dump/dump.db'
backupbot.backup.post-hook: "rm -rf /tmp/dump/dump.db"
backupbot.backup.path: "/tmp/dump/"
v2:
deploy:
labels:
backupbot.backup: "true"
backupbot.backup.repos: "$some_thing"
backupbot.backup.at: "* * * * *"
backupbot.backup.post-hook: "rm -rf /tmp/dump/dump.db"
backupbot.backup.secrets": "db_root_password",
backupbot.backup.pre-hook: 'mysqldump -u root -p"$DB_ROOT_PASSWORD" -f /tmp/dump/dump.db'
Questions:
- Should frequency be configurable per service, centrally, or both?
- "backupbot.backup.at: "* * * * *"