2021-10-25 11:56:49 +00:00
|
|
|
# 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
|
2021-10-25 11:57:16 +00:00
|
|
|
- [ ] Continuous linting with shellcheck
|
2021-10-25 11:56:49 +00:00
|
|
|
|
|
|
|
## 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: "* * * * *"
|
|
|
|
```
|