113 lines
2.6 KiB
Nix
113 lines
2.6 KiB
Nix
{config, ...}: {
|
|
containers = {
|
|
radio-synthwave = {
|
|
autoStart = true;
|
|
privateNetwork = true;
|
|
hostAddress = "10.231.136.1";
|
|
localAddress = "10.231.136.2";
|
|
|
|
bindMounts = {
|
|
"/var/lib/music" = {
|
|
hostPath = "/home/l-nafaryus/Music";
|
|
isReadOnly = true;
|
|
};
|
|
};
|
|
|
|
config = {
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
services.mpd = {
|
|
enable = true;
|
|
musicDirectory = "/var/lib/music";
|
|
network.listenAddress = "any";
|
|
#network.startWhenNeeded = true;
|
|
user = "mpd";
|
|
network.port = 6600;
|
|
extraConfig = ''
|
|
audio_output {
|
|
type "httpd"
|
|
name "Radio"
|
|
port "6660"
|
|
encoder "lame"
|
|
max_clients "0"
|
|
website "https://radio.elnafo.ru/synthwave"
|
|
always_on "yes"
|
|
tags "yes"
|
|
bitrate "128"
|
|
format "44100:16:1"
|
|
}
|
|
'';
|
|
};
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
networking.firewall = {
|
|
enable = true;
|
|
allowedTCPPorts = [6600 6660];
|
|
};
|
|
};
|
|
};
|
|
|
|
radio-non-stop = {
|
|
autoStart = true;
|
|
privateNetwork = true;
|
|
hostAddress = "10.231.136.1";
|
|
localAddress = "10.231.136.3";
|
|
|
|
bindMounts = {
|
|
"/var/lib/music" = {
|
|
hostPath = "/home/l-nafaryus/Music";
|
|
isReadOnly = true;
|
|
};
|
|
};
|
|
|
|
config = {
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
services.mpd = {
|
|
enable = true;
|
|
musicDirectory = "/var/lib/music";
|
|
network.listenAddress = "any";
|
|
#network.startWhenNeeded = true;
|
|
user = "mpd";
|
|
network.port = 6601;
|
|
extraConfig = ''
|
|
audio_output {
|
|
type "httpd"
|
|
name "Radio"
|
|
port "6661"
|
|
encoder "lame"
|
|
max_clients "0"
|
|
website "https://radio.elnafo.ru/non-stop"
|
|
always_on "yes"
|
|
tags "yes"
|
|
bitrate "128"
|
|
format "44100:16:1"
|
|
}
|
|
'';
|
|
};
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
networking.firewall = {
|
|
enable = true;
|
|
allowedTCPPorts = [6601 6661];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
services.nginx.virtualHosts."radio.elnafo.ru" = {
|
|
forceSSL = true;
|
|
useACMEHost = "elnafo.ru";
|
|
locations."/synthwave".proxyPass = "http://10.231.136.2:6660";
|
|
locations."/non-stop".proxyPass = "http://10.231.136.3:6661";
|
|
};
|
|
}
|