clan/machines/moritz-server/nixarr/prowlarr.nix
2025-08-26 20:15:11 +02:00

46 lines
1.1 KiB
Nix

{
config,
pkgs,
...
}: {
clan.core.vars.generators."nixarr-prowlarr" = {
prompts.password = {
type = "hidden";
persist = true;
description = "Leave empty to generate automatically";
};
files.password.deploy = false;
runtimeInputs = [
pkgs.coreutils
pkgs.xkcdpass
];
script = ''
prompt_value="$(cat "$prompts/password")"
if [[ -n "''${prompt_value-}" ]]; then
echo "$prompt_value" | tr -d "\n" > "$out"/password
else
xkcdpass --numwords 4 --delimiter - --count 1 | tr -d "\n" > "$out"/password
fi
'';
};
nixarr.prowlarr = {
# NOTE: cannot set password so just set the generated one manually
enable = true;
vpn.enable = true;
};
services.flaresolverr.enable = true;
systemd.services.flaresolverr.vpnConfinement = {
enable = true;
vpnNamespace = "wg";
};
services.nginx.virtualHosts."prowlarr.moritz.place" = {
forceSSL = true;
useACMEHost = "any.moritz.place";
locations."/" = {
proxyPass = "http://127.0.0.1:${builtins.toString config.nixarr.prowlarr.port}";
};
};
}