From 77e7a7cf781569b82344b07dc9f5cd8263255c75 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Fri, 30 Oct 2026 19:21:00 -0500 Subject: add navidrome service --- hosts/poweredge/navidrome.nix | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 hosts/poweredge/navidrome.nix 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"; + }; + }; +} -- cgit v1.3.1