55 lines
1.4 KiB
Nix
55 lines
1.4 KiB
Nix
{ pkgs
|
|
, config
|
|
, ...
|
|
}: {
|
|
|
|
systemd.services.tts = {
|
|
after = [ "network.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
path = [ pkgs.espeak ];
|
|
environment.HOME = "/var/lib/tts";
|
|
serviceConfig = {
|
|
StateDirectory = "tts";
|
|
DynamicUser = true;
|
|
User = "tts";
|
|
Group = "tts";
|
|
ExecStart = ''
|
|
${pkgs.tts}/bin/tts-server --model_name tts_models/en/ljspeech/vits --port 5004
|
|
'';
|
|
};
|
|
};
|
|
|
|
services.tts = {
|
|
servers = {
|
|
english = {
|
|
enable = true;
|
|
port = 5300;
|
|
#model = "tts_models/en/ljspeech/tacotron2-DDC";
|
|
model = "tts_models/en/ljspeech/vits";
|
|
};
|
|
german = {
|
|
enable = true;
|
|
port = 5301;
|
|
#model = "tts_models/de/thorsten/tacotron2-DDC";
|
|
model = "tts_models/de/thorsten/vits";
|
|
};
|
|
};
|
|
};
|
|
|
|
services.nginx = {
|
|
recommendedProxySettings = true;
|
|
enable = true;
|
|
# works
|
|
virtualHosts."tts.${config.networking.hostName}.private" = {
|
|
locations."/".proxyPass = "http://localhost:5004";
|
|
};
|
|
# works not
|
|
virtualHosts."en.tts.${config.networking.hostName}.private" = {
|
|
locations."/".proxyPass = "http://localhost:${toString config.services.tts.servers.english.port}";
|
|
};
|
|
# works
|
|
virtualHosts."de.tts.${config.networking.hostName}.private" = {
|
|
locations."/".proxyPass = "http://localhost:${toString config.services.tts.servers.german.port}";
|
|
};
|
|
};
|
|
}
|