I know, and read, a lot of posts here about backing up Docker volumes and data. The problem is that everyone has different setup, context and needs. So I need some help deciding what is best (and easy to manage) solution for my use case.
My setup is fairly simple. I only use docker compose files, have one service per directory and all services are using named volumes. Some have driver: local
to mount a local folder with config (always located in the same directory of the service). Each docker-compose.yaml
file has a backup container which is offen/docker-volume-backup
to backup the volumes. These backups are stored in a different folder (the same for all backups /media/storage/backups/
). I also have a service with Duplicati to backup the volume backups and some extra data (Nextcloud) to a remote server.
The reason why I use offen/docker-volume-backup
is to shut down some containers for extra safety but I'm not sure I actually need this because I'm the only user and I'm not planning on opening my server for other user.
Before I implemented docker-volume-backup and Duplicati all containers used bind mounts because that's less abstract for me, to actually see the files.
Now, my question is: is this a good setup? Is there an easier setup with less components/steps? Is it, for example, also good if I go back to bind mounts and just backup everything with Duplicati when I'm asleep at night?
Thank you for all the great advise!
Same as others have all my volumes in one directory. Then tar gzip and gpg encrypt it. Then send it to the cloud. Prune anything older then 30 days to reduce size.