backup-bot-two/README.md

1.2 KiB

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