aboutsummaryrefslogtreecommitdiff
path: root/hosts/tower/web
diff options
context:
space:
mode:
authorIsabella Bastaja <isabella@sorre.xyz>2026-08-21 20:00:41 +0200
committerIsabella Bastaja <isabella@sorre.xyz>2026-08-21 20:04:37 +0200
commite753b241863fc9a26714b981b9a609470b976234 (patch)
tree74a8c2f6646ea8240f1ca588158df3b498f997f7 /hosts/tower/web
parent22bf78064c39cbbb93a132ee94b5ecf97e8c55b9 (diff)
migrate navidrome
Diffstat (limited to 'hosts/tower/web')
-rw-r--r--hosts/tower/web/caddy.nix18
-rw-r--r--hosts/tower/web/default.nix2
-rw-r--r--hosts/tower/web/navidrome.nix37
3 files changed, 23 insertions, 34 deletions
diff --git a/hosts/tower/web/caddy.nix b/hosts/tower/web/caddy.nix
index 37b6092..0335058 100644
--- a/hosts/tower/web/caddy.nix
+++ b/hosts/tower/web/caddy.nix
@@ -6,6 +6,11 @@ let
domain = config.services.vaultwarden.domain;
port = config.services.vaultwarden.config.ROCKET_PORT;
};
+
+ navidrome = {
+ domain = "music.sorre.internal";
+ port = config.services.navidrome.settings.Port;
+ };
in
{
services.caddy = {
@@ -22,6 +27,19 @@ in
}
'';
};
+
+ "${navidrome.domain}" = {
+ listenAddresses = [ "100.64.0.6" ];
+ extraConfig = ''
+ tls {$CREDENTIALS_DIRECTORY}/sagittarius.crt {$CREDENTIALS_DIRECTORY}/sagittarius.key
+
+ reverse_proxy :${toString navidrome.port} {
+ header_up True-Client-IP {remote_host}
+ header_up X-Real-IP {remote_host}
+ flush_interval -1
+ }
+ '';
+ };
};
};
diff --git a/hosts/tower/web/default.nix b/hosts/tower/web/default.nix
index b46bc80..2cc2e56 100644
--- a/hosts/tower/web/default.nix
+++ b/hosts/tower/web/default.nix
@@ -4,7 +4,7 @@
# ./blog.nix
./git.nix
# ./static.nix
- # ./navidrome.nix
+ ./navidrome.nix
./vaultwarden.nix
./caddy.nix
];
diff --git a/hosts/tower/web/navidrome.nix b/hosts/tower/web/navidrome.nix
index 70d2779..7b99d9f 100644
--- a/hosts/tower/web/navidrome.nix
+++ b/hosts/tower/web/navidrome.nix
@@ -1,46 +1,17 @@
-{ config, ... }:
+{ ... }:
let
- cfg = config.services.navidrome;
- # secrets = config.sops.secrets;
domain = "music.sorre.internal";
in
{
services.navidrome = {
- enable = false;
+ enable = true;
settings = {
- MusicFolder = "/var/navidrome/music";
- DataFolder = "/var/navidrome/data";
+ MusicFolder = "/var/lib/navidrome/music";
+ DataFolder = "/var/lib/navidrome/data";
BaseUrl = "https://${domain}";
Port = 4533;
Address = "127.0.0.1";
openFirewall = false;
};
};
-
- services.nginx = {
- enable = true;
-
- virtualHosts."navidrome" = {
- serverName = domain;
- # forceSSL = true;
- listen = [
- {
- addr = "100.64.0.3";
- port = 443;
- # ssl = true;
- }
- ];
-
- # sslCertificateKey = secrets."wg-ca-key".path;
- # sslCertificate = secrets."wg-ca-crt".path;
-
- locations."/" = {
- proxyPass = "http://127.0.0.1:${toString cfg.settings.Port}";
- recommendedProxySettings = true;
- extraConfig = ''
- proxy_buffering off;
- '';
- };
- };
- };
}