I dont use volumes at all and instead use bind mounts so i can just back up those folders
Self-Hosted Main
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
For Example
- Service: Dropbox - Alternative: Nextcloud
- Service: Google Reader - Alternative: Tiny Tiny RSS
- Service: Blogger - Alternative: WordPress
We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.
Useful Lists
- Awesome-Selfhosted List of Software
- Awesome-Sysadmin List of Software
Use XFS as file system and use --reflink when you copy the volumes, creates an instant CoW copy no matter how big the folder is. You can then move, copy or whatever that folder to anywhere, or use a VM and simply backup the VM.
Do you have any detailed guide on this?
I use zfs mirror 2x SSD for cache data snapshot no need to stop or restart docker 0 downtime and super easy and fast to restore data like 1 second and it's done
Be aware that databases might be corrupted by snapshots
No. Any database in the last 20 years supports WAL, this advice is straight out of 2005
That’s good to know then
You can create NFS Docker Volumes that are mounted through docker and reside on the NAS.
Databases don’t line nfs. What are some other options?
RemindMe! 1 day
Wow people are recommending a lot of things I don’t do and now I’m worried I’m doing something wrong.
I just have a folder on my Ubuntu boot drive called Docker with all of the persistent data from my containers. And I just tell Duplicati to backup that folder to BackBlaze. I don’t stop the containers to do that. Am I doing something wrong?
IMHO not really.
There is the slight chance that DBs get inconsistent with backing up hot DB files, but in a homelab with minimal load this is usually not an issue. Same for NFS.
Just make sure you have older backups, too. Just in case the last backup was not good.
Some people would say that you're doing something wrong by using Duplicati, because they've had problems restoring data and it's very slow, so if you've never had to restore data before you should test that to check that it works, and maybe switch to something else like Borg to be safe.
Also, backing up the folder without stopping the containers first might result in any backed up databases being corrupt, so if you're running anything that uses databases, you should stop those containers before backing up the folder.
How would you automate the stopping of the containers?
I'm not sure, but I think you'd just need to create a script which stops them, runs the backup, and then restarts them.
If you just need to backup Docker Volumes, I recommend Nautical.
You can use it to backup to an NFS share if you need to go between Machines.
Those backing up bind mounted volumes, what user does your backup program run as? The data inside bind mounts can have very random user IDs depending on the container including files owned by root.
Does your backup have to run as root in order to capture all files and retain permissions?
Nop, docker volumes bring me anxiety since I have no clue where are the files located. I always go with directory binding, I retain full control, master of my files, captain of my soul.
I use restic. Stop the container, run backup, start container. you can script it to run every night or something.