Hi everyone!
Now that I got my home server up, running and accessible (partially at least) to the outside world the backing up of it became a concern for me. Firstly because I spent quite some time with the docker compose files by carefully assigning the ports and volumes to a fitting way and also inside each service configuring them to work the best in my current setup. Secondly because I am starting to aggregate some data (vaultwarden passwords, inventory tracking, user statistics, etc) that I pretty much want to keep if something happens to my main server.
Currently my file structure in the server is a directory for (more or less) each service inside a Server/ directory in my home directory. Inside each service directory is a compose.yml and the volumes for the container. In some cases, there are some volumes that I don't need/want to back up (like jellyfin libraries or torrent downloads).
I have a secondary notebook that I can use as a NAS for now to keep the data.
Which method would be the best for this configurations? Or would you suggest a different file structure?
The best solution for me would be one that I could run on docker with a Web UI, but am I also comfortable with a CLI, so this is not a requirement
I'm a little biased because I built it, but this is what I use.
I create backups of my Docker compose files and each container volume (these are done when the containers are stopped so no data is corrupted). Then I take those folders and send them encrypted to Backblaze using Kopia. Since it's just config files I am able to get away with the Free tier.
I also have my Docker compose files backed up in a private GitHub repo.