diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2026-10-30 19:21:00 -0500 |
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2026-10-30 19:21:00 -0500 |
| commit | 77e7a7cf781569b82344b07dc9f5cd8263255c75 (patch) | |
| tree | 7797cc67ec63611be1f2a73769355f54ca5ba87f /hosts/poweredge | |
| parent | 75b9bf76277ddb97fa3787b40c22c4b4750aad31 (diff) | |
| download | nixos-77e7a7cf781569b82344b07dc9f5cd8263255c75.tar.xz nixos-77e7a7cf781569b82344b07dc9f5cd8263255c75.zip | |
add navidrome service
Diffstat (limited to 'hosts/poweredge')
| -rw-r--r-- | hosts/poweredge/navidrome.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/hosts/poweredge/navidrome.nix b/hosts/poweredge/navidrome.nix new file mode 100644 index 0000000..fa40ed4 --- /dev/null +++ b/hosts/poweredge/navidrome.nix @@ -0,0 +1,51 @@ +{ + containers.navidrome = { + autoStart = true; + privateNetwork = true; + hostBridge = "br-lan0"; + localMacAddress = "02:00:00:00:00:08"; + + bindMounts = { + "/media/music" = { + hostPath = "/media/ingens/media/music"; + isReadOnly = true; + }; + #"/media/podcasts" = { + # hostPath = "/media/ingens/media/podcasts"; + # isReadOnly = true; + #}; + }; + + config = { lib, config, pkgs, ... }: { + # Network + networking.interfaces.eth0.useDHCP = true; + networking.firewall.allowedTCPPorts = [ 80 ]; # Caddy + + # Navidrome + services.navidrome = { + enable = true; + + plugins = with pkgs.navidromePlugins; [ + #audiomuseai + listenbrainz-daily-playlist + #lyrics-plugin + ]; + + settings.MusicFolder = "/media/music/library"; + + # The lyrics plugin bundle is named lyrics-plugin.ndp. + settings.LyricsPriority = ".ttml,.yaml,.yml,.elrc,.srt,lyrics-plugin,embedded,.lrc,.txt"; + }; + + # Reverse proxy + services.caddy = { + enable = true; + virtualHosts.":80".extraConfig = '' + reverse_proxy localhost:4533 + ''; + }; + + system.stateVersion = "26.05"; + }; + }; +} |
