From cb2b8883865d760ad5b3b7e93674bbbb6c7c7fb1 Mon Sep 17 00:00:00 2001 From: Lucy Hochkamp Date: Mon, 19 Aug 2024 23:35:59 +0200 Subject: [PATCH] navidrome --- flake.lock | 60 ++++++++++++++++---------------- hosts/ds9/containers.nix | 15 ++++++++ hosts/ds9/default.nix | 8 +++++ nixos-modules/system/persist.nix | 1 + 4 files changed, 54 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 0bfea4ab..a376b6f4 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1722339003, - "narHash": "sha256-ZeS51uJI30ehNkcZ4uKqT4ZDARPyqrHADSKAwv5vVCU=", + "lastModified": 1723293904, + "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", "owner": "ryantm", "repo": "agenix", - "rev": "3f1dae074a12feb7327b4bf43cbac0d124488bb7", + "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", "type": "github" }, "original": { @@ -74,11 +74,11 @@ ] }, "locked": { - "lastModified": 1722924007, - "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=", + "lastModified": 1723859949, + "narHash": "sha256-kiaGz4deGYKMjJPOji/JVvSP/eTefrIA3rAjOnOpXl4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "91010a5613ffd7ee23ee9263213157a1c422b705", + "rev": "076b9a905af8a52b866c8db068d6da475839d97b", "type": "github" }, "original": { @@ -201,11 +201,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1722983375, - "narHash": "sha256-EW07wheW5b2LGLDXlZ/V+qAyjBZIbwgqZE/mUP4nxu4=", + "lastModified": 1724100338, + "narHash": "sha256-NAhc/wMVno4DSM9RW6a9R5LGskCScjSm7bwWlFNy9Pg=", "owner": "helix-editor", "repo": "helix", - "rev": "0929704699ec14e6d4770ddc345a80225a8a7fae", + "rev": "e2904794749ccc709a238a10e6ee364411c2b820", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1722498350, - "narHash": "sha256-t0heqTBYYBj8XfOH2eqQ3mb5fmatdRxumOLs5H6Lfy8=", + "lastModified": 1723969902, + "narHash": "sha256-XI9pRlrFapdvT44JxhM3JQqCIf8FleJdFTs41qQcTHw=", "owner": "ulyssa", "repo": "iamb", - "rev": "653287478efeb0c1d4dfe85f2f24437fb0e38e11", + "rev": "4fc05c7b40b1d5cbeed1b0f1d1d0ba2cd46afda7", "type": "github" }, "original": { @@ -280,11 +280,11 @@ }, "impermanence": { "locked": { - "lastModified": 1719091691, - "narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=", + "lastModified": 1724098307, + "narHash": "sha256-7SKGkqrXPLRD0jbs9IOnUhmjJZv2wawrlkgtzF0tMrw=", "owner": "nix-community", "repo": "impermanence", - "rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a", + "rev": "9de98e038ae91e15ea725700386044309b340299", "type": "github" }, "original": { @@ -367,11 +367,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1722332872, - "narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", + "lastModified": 1724067415, + "narHash": "sha256-WJBAEFXAtA41RMpK8mvw0cQ62CJkNMBtzcEeNIJV7b0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "14c333162ba53c02853add87a0000cbd7aa230c2", + "rev": "b09c46430ffcf18d575acf5c339b38ac4e1db5d2", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1722940684, - "narHash": "sha256-X8JnSq0ruRWsU4PdYuxV+8W4W66F1lnCcxIZZMWzo4E=", + "lastModified": 1724013388, + "narHash": "sha256-vAq+I0IWsIDq5RUc01t25iL46LLxdsmlTJ96A30bMEY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a3103d68517c6ad262ea27c96fc4a38ad81be7a0", + "rev": "3f38e71a8e23a27569acbbfee0e83b76c86fa569", "type": "github" }, "original": { @@ -415,11 +415,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1723031421, - "narHash": "sha256-Q4iMzihS+4mzCadp+ADr782Jrd1Mgvr7lLZbkWx33Hw=", + "lastModified": 1724102008, + "narHash": "sha256-NFzNwyoTmnUmBMIKE7lzY7d0QtJ++onGN1K55cIc5Kw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1602c0d3c0247d23eb7ca501c3e592aa1762e37b", + "rev": "6ebe64bfe00e71b619578b3539fcba7a28cd1c8c", "type": "github" }, "original": { @@ -447,11 +447,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1722869614, - "narHash": "sha256-7ojM1KSk3mzutD7SkrdSflHXEujPvW1u7QuqWoTLXQU=", + "lastModified": 1723938990, + "narHash": "sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "883180e6550c1723395a3a342f830bfc5c371f6b", + "rev": "c42fcfbdfeae23e68fc520f9182dde9f38ad1890", "type": "github" }, "original": { @@ -568,11 +568,11 @@ "spoons": { "flake": false, "locked": { - "lastModified": 1717293677, - "narHash": "sha256-UYijuHkFy2o1zv5pb6+hO/X5WnW6u7j5oxZQ75ryk1k=", + "lastModified": 1723246395, + "narHash": "sha256-StdD+r2Hg3H4uW38F+ar6FT0rhbzrmzvFbQiSS/906A=", "owner": "Hammerspoon", "repo": "Spoons", - "rev": "70341ddc6ffeebc74f8264d9b2c52da0ee29060b", + "rev": "b753f19a3318e2d5c9998c4c2d804d8bf1af1fb7", "type": "github" }, "original": { diff --git a/hosts/ds9/containers.nix b/hosts/ds9/containers.nix index e80ba653..73b2881b 100644 --- a/hosts/ds9/containers.nix +++ b/hosts/ds9/containers.nix @@ -124,5 +124,20 @@ in config.age.secrets.ds9ImmichEnv.path ]; }; + # navidrome + virtualisation.oci-containers.containers.navidrome = { + user = "1000:100"; + image = "deluan/navidrome:latest"; + extraOptions = [ "--network=podman" ]; + volumes = [ + "navidrome-data:/data" + "/data/media/music:/music:ro" + ]; + environment = { + ND_SCANSCHEDULE = "1h"; + ND_SESSIONTIMEOUT = "900h"; + ND_BASEURL = "https://nd.hailsatan.eu"; + }; + }; } diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index ebe402a0..5cb5f0c0 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -146,6 +146,14 @@ in } } } + @nd host nd.hailsatan.eu + handle @nd { + reverse_proxy http://navidrome:4533 { + transport http { + resolvers 10.89.0.1 # podman dns + } + } + } @bzzt-api host bzzt-api.hailsatan.eu handle @bzzt-api { reverse_proxy http://127.0.0.1:5001 diff --git a/nixos-modules/system/persist.nix b/nixos-modules/system/persist.nix index bf3efffd..1c24ea1d 100644 --- a/nixos-modules/system/persist.nix +++ b/nixos-modules/system/persist.nix @@ -22,6 +22,7 @@ in directories = [ "/etc/nixos" "/etc/NetworkManager/system-connections" + "/var/lib/nixos" "/root/.ssh" ] ++ (lib.unique cfg.extraDirectories); files = [