add navidrome to nfss

This commit is contained in:
Yan Lin 2026-01-19 18:29:42 +01:00
parent 38cf82c219
commit 954ede8ea3
3 changed files with 40 additions and 0 deletions

View file

@ -138,6 +138,7 @@
user = "yanlin";
audiobookshelf.enable = true;
deluge.enable = true;
navidrome.enable = true;
};
# Samba file sharing

View file

@ -28,6 +28,17 @@
};
};
music = {
rule = "Host(`music.yanlincs.com`)";
service = "music";
tls = {
certResolver = "cloudflare";
domains = [{
main = "*.yanlincs.com";
}];
};
};
deluge = {
rule = "Host(`deluge.yanlincs.com`)";
service = "deluge";
@ -59,6 +70,14 @@
};
};
music = {
loadBalancer = {
servers = [{
url = "http://nfss.yanlincs.com:4533";
}];
};
};
deluge = {
loadBalancer = {
servers = [{

View file

@ -25,6 +25,12 @@ in
lidarr.enable = lib.mkEnableOption "Lidarr music management"; # port 8686
bazarr.enable = lib.mkEnableOption "Bazarr subtitle management"; # port 6767
audiobookshelf.enable = lib.mkEnableOption "Audiobookshelf audiobook server"; # port 8000
navidrome.enable = lib.mkEnableOption "Navidrome music server"; # port 4533
navidrome.musicFolder = lib.mkOption {
type = lib.types.str;
default = "/home/Media/music";
description = "Path to music folder for Navidrome";
};
};
config = {
@ -92,5 +98,19 @@ in
host = "0.0.0.0";
openFirewall = false;
};
services.navidrome = lib.mkIf cfg.navidrome.enable {
enable = true;
user = cfg.user;
group = cfg.group;
openFirewall = false;
settings = {
MusicFolder = cfg.navidrome.musicFolder;
};
};
systemd.services.navidrome.serviceConfig = lib.mkIf cfg.navidrome.enable {
ProtectHome = lib.mkForce false;
};
};
}