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"; user = "yanlin";
audiobookshelf.enable = true; audiobookshelf.enable = true;
deluge.enable = true; deluge.enable = true;
navidrome.enable = true;
}; };
# Samba file sharing # 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 = { deluge = {
rule = "Host(`deluge.yanlincs.com`)"; rule = "Host(`deluge.yanlincs.com`)";
service = "deluge"; service = "deluge";
@ -59,6 +70,14 @@
}; };
}; };
music = {
loadBalancer = {
servers = [{
url = "http://nfss.yanlincs.com:4533";
}];
};
};
deluge = { deluge = {
loadBalancer = { loadBalancer = {
servers = [{ servers = [{

View file

@ -25,6 +25,12 @@ in
lidarr.enable = lib.mkEnableOption "Lidarr music management"; # port 8686 lidarr.enable = lib.mkEnableOption "Lidarr music management"; # port 8686
bazarr.enable = lib.mkEnableOption "Bazarr subtitle management"; # port 6767 bazarr.enable = lib.mkEnableOption "Bazarr subtitle management"; # port 6767
audiobookshelf.enable = lib.mkEnableOption "Audiobookshelf audiobook server"; # port 8000 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 = { config = {
@ -92,5 +98,19 @@ in
host = "0.0.0.0"; host = "0.0.0.0";
openFirewall = false; 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;
};
}; };
} }