# 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: "* * * * *" ```