diff --git a/modules/servers/bragi/default.nix b/modules/servers/bragi/default.nix index 5d58b51..96dcdab 100644 --- a/modules/servers/bragi/default.nix +++ b/modules/servers/bragi/default.nix @@ -3,5 +3,6 @@ ./audiobookshelf.nix ./storage-box.nix ./secrets.nix + ./navidrome.nix ]; } diff --git a/modules/servers/bragi/navidrome.nix b/modules/servers/bragi/navidrome.nix new file mode 100644 index 0000000..792f91d --- /dev/null +++ b/modules/servers/bragi/navidrome.nix @@ -0,0 +1,27 @@ +{config, ...}: { + services.navidrome = { + enable = true; + settings = { + MusicFolder = "/mnt/music"; + BaseUrl = "https://nd.cronyakatsuki.xyz"; + }; + environmentFile = "${config.age.secrets.navidrome.path}"; + }; + + services.traefik.dynamicConfigOptions.http = { + services.navidrome.loadBalancer.servers = [ + { + url = "http://localhost:4533"; + } + ]; + + routers.navidrome = { + rule = "Host(`nd.cronyakatsuki.xyz`)"; + tls = { + certResolver = "porkbun"; + }; + service = "navidrome"; + entrypoints = "websecure"; + }; + }; +} diff --git a/modules/servers/bragi/secrets.nix b/modules/servers/bragi/secrets.nix index 0d4565b..d0bea7e 100644 --- a/modules/servers/bragi/secrets.nix +++ b/modules/servers/bragi/secrets.nix @@ -4,6 +4,9 @@ rclone = { file = ../../../secrets/rclone.age; }; + navidrome = { + file = ../../../secrets/navidrome.age; + }; }; }; } diff --git a/secrets/navidrome.age b/secrets/navidrome.age new file mode 100644 index 0000000..01d239e --- /dev/null +++ b/secrets/navidrome.age @@ -0,0 +1,15 @@ +age-encryption.org/v1 +-> ssh-ed25519 2P4nKw jh3iW7BXz4PX/O4Q++pnGXzZJbAA7d9XfKBI2xUS/EQ +OyrKTs51RL96wwaNv1rQ22dHYRfFUWSb7G4kVvXoZI4 +-> ssh-ed25519 6+hQpQ ZCcngqHkeBH1Y5iiVYXzfAAnjqzUWFzeRd6ARupY1hs +CUU90fSXMjtlfbxYavUbf2IUX9keBmHKtFWo4SLvcK4 +-> ssh-ed25519 l/ODWA 1oBzN9ikgN3kyUbGMaXuM0g3dA7QDrdDlH3yXI1tkAA +auxgQlS+pIWj7pOGMNQ83+VPZoc1v1c0OmUkiJqKIZI +-> ssh-ed25519 7+5K3Q zfGye00AS0WcKkWQ2lKexMgZUKj1+vv8AAmb4WKE8gE +//wFw0xl1bQmkz/XojLKDLikcpSbeMfeCYrWzGRXsmE +-> ssh-ed25519 fd/ZLQ UPhW5kP13LgqdBQrWLjABVmk+Y5X6jxZA2kB6zHnPhA +cqYELfcSyNCZ1tmCZ/aNgYFmoK9I6gtsmPthbImAJT0 +--- 9I9/f2mPgqMl2pBqJs1KojAkdkDji9g9E1G5YxhzxQQ +}NN{!dMIҁ?-N$F9&d}}Hls& +dwB ZMׇSu+Ivc%?-$xWLZjDFˢ_rcG1t<-*=5zc +mOcfDbyeRN{`aƪфk)&Kz3rH sרY;@@?L6B!J5Wpci#k@C6f3r4)< \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 35ec08f..d097065 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -17,4 +17,5 @@ in { "wg-heimdall.age".publicKeys = systems ++ users; "wg-desktop.age".publicKeys = systems ++ users; "rclone.age".publicKeys = systems ++ users; + "navidrome.age".publicKeys = systems ++ users; }