diff --git a/machines/porthos/services.nix b/machines/porthos/services.nix index ac33819..c702c84 100644 --- a/machines/porthos/services.nix +++ b/machines/porthos/services.nix @@ -80,11 +80,6 @@ in builtins.toFile "grafana.txt" my.secrets.monitoring.password; # Insecure, I don't care }; }; - # FLOSS music streaming server - navidrome = { - enable = true; - musicFolder = "/data/media/music"; - }; # Nextcloud self-hosted cloud nextcloud = { enable = true; diff --git a/modules/services/default.nix b/modules/services/default.nix index 4760ab1..29ae034 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -15,7 +15,6 @@ ./matrix.nix ./miniflux.nix ./monitoring.nix - ./navidrome.nix ./nextcloud.nix ./nginx.nix ./pirate.nix diff --git a/modules/services/navidrome.nix b/modules/services/navidrome.nix deleted file mode 100644 index 779884e..0000000 --- a/modules/services/navidrome.nix +++ /dev/null @@ -1,62 +0,0 @@ -# A FLOSS self-hosted, subsonic compatible music server -{ config, lib, pkgs, ... }: -let - cfg = config.my.services.navidrome; - domain = config.networking.domain; - navidromeDomain = "music.${config.networking.domain}"; -in -{ - options.my.services.navidrome = with lib; { - enable = mkEnableOption "Navidrome Music Server"; - - settings = mkOption { - type = (pkgs.formats.json { }).type; - default = { }; - example = { - "LastFM.ApiKey" = "MYKEY"; - "LastFM.Secret" = "MYSECRET"; - "Spotify.ID" = "MYKEY"; - "Spotify.Secret" = "MYSECRET"; - }; - description = '' - Additional settings. - ''; - }; - - privatePort = mkOption { - type = types.port; - default = 4533; - example = 8080; - description = "Internal port for webui"; - }; - - musicFolder = mkOption { - type = types.str; - example = "/mnt/music/"; - description = "Music folder"; - }; - }; - - config = lib.mkIf cfg.enable { - services.navidrome = { - enable = true; - - settings = cfg.settings // { - Port = cfg.privatePort; - Address = "127.0.0.1"; # Behind reverse proxy, so only loopback - MusicFolder = cfg.musicFolder; - LogLevel = "info"; - }; - }; - - services.nginx.virtualHosts."${navidromeDomain}" = { - forceSSL = true; - useACMEHost = domain; - - locations."/" = { - proxyPass = "http://127.0.0.1:${toString cfg.privatePort}/"; - proxyWebsockets = true; - }; - }; - }; -}