diff options
author | Nguyễn Gia Phong <cnx@loang.net> | 2023-07-27 01:42:05 +0900 |
---|---|---|
committer | Nguyễn Gia Phong <cnx@loang.net> | 2023-07-27 01:45:24 +0900 |
commit | c4938c54ff6156c050411bd42b9ed3aa5c894ee0 (patch) | |
tree | 4b7bbadc0ace8a529d98fc4f4840fec5adcbb1f1 /music.nix | |
parent | 8ea30d2c9d9ec9ed62ee5ace8e9f7086bf7ad412 (diff) | |
download | nixos-conf-c4938c54ff6156c050411bd42b9ed3aa5c894ee0.tar.gz |
Set up navidrome
Some OpenNIC stuff also got staged but I'm too lazy to split.
Diffstat (limited to 'music.nix')
-rw-r--r-- | music.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/music.nix b/music.nix new file mode 100644 index 0000000..7e3db88 --- /dev/null +++ b/music.nix @@ -0,0 +1,49 @@ +# 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 <https://www.gnu.org/licenses/>. + +{ 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; + }; + }; +} |