diff --git a/hosts/yodaNas/MIGRATION.md b/hosts/yodaNas/MIGRATION.md index 11726e8..d5b3525 100644 --- a/hosts/yodaNas/MIGRATION.md +++ b/hosts/yodaNas/MIGRATION.md @@ -1,4 +1,4 @@ -# Migration to NixOS +## Migration to NixOS TODOs: @@ -8,3 +8,24 @@ TODOs: - Drive monitoring - Could `smartd` be an option? - Probably I don't need to run full device scans as I run `btrfs scrub` each month? + +## Jinja-Compose storage upgrade + +- [x] Stop `Jinja-Compose` and `btrbk` systemd units +- [x] `./docker-compose down` +- [x] Rename and move live data +- [x] Move snapshots @yodaNas, @pi3bplus +- [x] Run Jinja-Compose `setup.sh` +- [x] Test `./docker-compose up` +- [x] Adjust and start `Jinja-Compose` and `btrbk` systemd units +- [x] Adjust `btrbk` config @pi3bplus + +Volume sizes: +- 5.8GB arch.p1st.de +- 5.3GB blogger.privacy1st.de +- 2.3GB git.privacy1st.de +- 0.7GB music.privacy1st.de +- 0.3GB money.p1st.de +- 0.2GB recipe.privacy1st.de +- 0.02GB play.privacy1st.de +- 0.01GB changedetection.p1st.de diff --git a/hosts/yodaNas/host-specific.nix b/hosts/yodaNas/host-specific.nix index 676b5b3..6b29b1e 100644 --- a/hosts/yodaNas/host-specific.nix +++ b/hosts/yodaNas/host-specific.nix @@ -132,8 +132,8 @@ in ]; script = '' set -eu -o pipefail - /mnt/data/docker-compose/docker-compose pull - /mnt/data/docker-compose/docker-compose up -d --wait + /jc-config/docker-compose pull + /jc-config/docker-compose up -d --wait ''; # Start after login. wantedBy = [ "multi-user.target" ]; diff --git a/modules/btrbk/README.md b/modules/btrbk/README.md index 9f8bbd4..ff77e29 100644 --- a/modules/btrbk/README.md +++ b/modules/btrbk/README.md @@ -259,19 +259,25 @@ target_preserve 7d 4w 6m snapshot_preserve_min all snapshot_create no -volume ssh://rootnas/mnt/data/data - snapshot_dir /mnt/data/snap +volume ssh://rootnas/jc-data + snapshot_dir /snap target /mnt/backup/snap subvolume arch.p1st.de subvolume blogger.privacy1st.de subvolume changedetection.p1st.de - subvolume cloud.media-kollektiv.eu subvolume cloud.privacy1st.de subvolume git.privacy1st.de + subvolume mastodon-toot-follower.privacy1st.de subvolume money.p1st.de subvolume music.privacy1st.de + subvolume paste.p1st.de subvolume proxy subvolume recipe.privacy1st.de subvolume traggo.privacy1st.de +volume ssh://rootnas/mnt/data/jc-data + snapshot_dir /mnt/data/snap + target /mnt/backup/snap2 + subvolume cloud.privacy1st.de + subvolume cloud.media-kollektiv.eu EOF ``` diff --git a/modules/btrbk/default.nix b/modules/btrbk/default.nix index 4bd2c9c..fd6258c 100644 --- a/modules/btrbk/default.nix +++ b/modules/btrbk/default.nix @@ -30,25 +30,31 @@ snapshot_preserve_min = "2d"; snapshot_preserve = "24h 7d 4w 6m"; - volume."/mnt/data/data" = { - snapshot_dir = "/mnt/data/snap"; + volume."/jc-data" = { + snapshot_dir = "/snap"; subvolume = { "arch.p1st.de" = {}; "blogger.privacy1st.de" = {}; "changedetection.p1st.de" = {}; - # MediaKollektiv: 796 GiB - "cloud.media-kollektiv.eu" = {}; "cloud.privacy1st.de" = {}; "git.privacy1st.de" = {}; - #"mastodon-toot-follower.privacy1st.de" = {}; + "mastodon-toot-follower.privacy1st.de" = {}; "money.p1st.de" = {}; "music.privacy1st.de" = {}; - #"paste.p1st.de" = {}; + "paste.p1st.de" = {}; "proxy" = {}; "recipe.privacy1st.de" = {}; "traggo.privacy1st.de" = {}; }; }; + volume."/mnt/data/jc-data" = { + snapshot_dir = "/mnt/data/snap"; + subvolume = { + "cloud.privacy1st.de" = {}; + # MediaKollektiv: 796 GiB + "cloud.media-kollektiv.eu" = {}; + }; + }; }; }; @@ -68,26 +74,33 @@ snapshot_preserve_min = "all"; snapshot_create = "no"; - volume."/mnt/data/data" = { - snapshot_dir = "/mnt/data/snap"; + volume."/jc-data" = { + snapshot_dir = "/snap"; target = "/mnt/backup/snap"; subvolume = { "arch.p1st.de" = {}; "blogger.privacy1st.de" = {}; "changedetection.p1st.de" = {}; - # MediaKollektiv: 796 GiB - "cloud.media-kollektiv.eu" = {}; "cloud.privacy1st.de" = {}; "git.privacy1st.de" = {}; - #"mastodon-toot-follower.privacy1st.de" = {}; + "mastodon-toot-follower.privacy1st.de" = {}; "money.p1st.de" = {}; "music.privacy1st.de" = {}; - #"paste.p1st.de" = {}; + "paste.p1st.de" = {}; "proxy" = {}; "recipe.privacy1st.de" = {}; "traggo.privacy1st.de" = {}; }; }; + volume."/mnt/data/jc-data" = { + snapshot_dir = "/mnt/data/snap"; + target = "/mnt/backup/snap2"; + subvolume = { + "cloud.privacy1st.de" = {}; + # MediaKollektiv: 796 GiB + "cloud.media-kollektiv.eu" = {}; + }; + }; }; };