nixos-config/machines/chungus/media-navidrome.nix
2025-02-23 16:26:59 +07:00

43 lines
1,011 B
Nix

{
config,
lib,
pkgs,
...
}:
{
healthchecks.http.navidrome = {
url = "${config.networking.hostName}.wg0:${toString config.services.navidrome.settings.Port}/app/#/login";
expectedContent = "Navidrome";
};
services.navidrome = {
enable = true;
openFirewall = true;
group = "media";
user = "media";
settings.Address = "0.0.0.0";
settings.MusicFolder = "/media/arr/lidarr";
};
services.nginx = {
enable = true;
virtualHosts."music.${config.networking.hostName}.private" = {
serverAliases = [
"music.${config.networking.hostName}.wg0"
"music.ingolf-wagner.de"
];
locations."/" = {
recommendedProxySettings = true;
proxyWebsockets = true;
proxyPass = "http://localhost:${toString config.services.navidrome.settings.Port}";
extraConfig = ''
allow ${config.tinc.private.subnet};
allow ${config.wireguard.wg0.subnet};
deny all;
'';
};
};
};
}