# Music server configuration # Copyright (C) 2023 Nguyễn Gia Phong # # This file is part of loang configuration. # # Loang configuration is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Loang configuration is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with loang configuration. If not, see . { config, ... }: let icann = "nghe.${config.networking.domain}"; openNIC = "musike.pirate"; port = toString config.services.navidrome.settings.Port; proxy = { locations."/".proxyPass = "http://localhost:${port}"; }; in { services = { navidrome = { enable = true; settings = { EnableSharing = true; MusicFolder = "/mnt/nas/www/${openNIC}"; Port = 4533; }; }; nginx.virtualHosts = { ${icann} = { enableACME = true; forceSSL = true; } // proxy; ${openNIC} = { addSSL = true; useACMEHost = icann; } // proxy; }; }; }