restructure media services
This commit is contained in:
parent
5ddcaf35f6
commit
a29b757530
1 changed files with 88 additions and 49 deletions
|
@ -66,38 +66,73 @@ in
|
||||||
# Services
|
# Services
|
||||||
#=========================================================================
|
#=========================================================================
|
||||||
services = let
|
services = let
|
||||||
serviceConf = {
|
arrService = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
auth.AuthenticationMethod = "External";
|
||||||
|
|
||||||
|
# postgres = {
|
||||||
|
# PostgresHost = "localhost";
|
||||||
|
# PostgresPort = "5432";
|
||||||
|
# PostgresUser = "media";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
withPort = port: service: service // { settings.server.Port = builtins.toString port; };
|
||||||
|
|
||||||
|
withUserAndGroup = service: service // {
|
||||||
|
user = cfg.user;
|
||||||
|
group = cfg.group;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
radarr =
|
||||||
|
arrService
|
||||||
|
|> withPort 2001
|
||||||
|
|> withUserAndGroup;
|
||||||
|
|
||||||
|
sonarr =
|
||||||
|
arrService
|
||||||
|
|> withPort 2002
|
||||||
|
|> withUserAndGroup;
|
||||||
|
|
||||||
|
lidarr =
|
||||||
|
arrService
|
||||||
|
|> withPort 2003
|
||||||
|
|> withUserAndGroup;
|
||||||
|
|
||||||
|
prowlarr =
|
||||||
|
arrService
|
||||||
|
|> withPort 2004;
|
||||||
|
|
||||||
|
bazarr = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
user = cfg.user;
|
||||||
|
group = cfg.group;
|
||||||
|
listenPort = 2005;
|
||||||
|
};
|
||||||
|
|
||||||
|
# port is harcoded in nixpkgs module
|
||||||
|
jellyfin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
user = cfg.user;
|
user = cfg.user;
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
};
|
};
|
||||||
in {
|
|
||||||
jellyfin = serviceConf;
|
|
||||||
radarr = serviceConf;
|
|
||||||
sonarr = serviceConf;
|
|
||||||
bazarr = serviceConf;
|
|
||||||
lidarr = serviceConf;
|
|
||||||
|
|
||||||
flaresolverr = {
|
flaresolverr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
port = 2007;
|
||||||
|
|
||||||
jellyseerr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
prowlarr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
qbittorrent = {
|
qbittorrent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
webuiPort = 5000;
|
webuiPort = 2008;
|
||||||
|
|
||||||
serverConfig = {
|
serverConfig = {
|
||||||
LegalNotice.Accepted = true;
|
LegalNotice.Accepted = true;
|
||||||
|
@ -107,6 +142,7 @@ in
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# port is harcoded in nixpkgs module
|
||||||
sabnzbd = {
|
sabnzbd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
@ -116,46 +152,49 @@ in
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# postgresql = {
|
||||||
|
# enable = true;
|
||||||
|
# ensureDatabases = [
|
||||||
|
# "radarr-main" "radarr-log"
|
||||||
|
# "sonarr-main" "sonarr-log"
|
||||||
|
# "lidarr-main" "lidarr-log"
|
||||||
|
# "prowlarr-main" "prowlarr-log"
|
||||||
|
# ];
|
||||||
|
# identMap = ''
|
||||||
|
# media media radarr-main
|
||||||
|
# media media radarr-log
|
||||||
|
# media media sonarr-main
|
||||||
|
# media media sonarr-log
|
||||||
|
# media media lidarr-main
|
||||||
|
# media media lidarr-log
|
||||||
|
# media media prowlarr-main
|
||||||
|
# media media prowlarr-log
|
||||||
|
# '';
|
||||||
|
# ensureUsers = [
|
||||||
|
# { name = "radarr-main"; ensureDBOwnership = true; }
|
||||||
|
# { name = "radarr-log"; ensureDBOwnership = true; }
|
||||||
|
|
||||||
|
# { name = "sonarr-main"; ensureDBOwnership = true; }
|
||||||
|
# { name = "sonarr-log"; ensureDBOwnership = true; }
|
||||||
|
|
||||||
|
# { name = "lidarr-main"; ensureDBOwnership = true; }
|
||||||
|
# { name = "lidarr-log"; ensureDBOwnership = true; }
|
||||||
|
|
||||||
|
# { name = "prowlarr-main"; ensureDBOwnership = true; }
|
||||||
|
# { name = "prowlarr-log"; ensureDBOwnership = true; }
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
caddy = {
|
caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
"media.kruining.eu".extraConfig = ''
|
|
||||||
import auth
|
|
||||||
|
|
||||||
reverse_proxy http://127.0.0.1:9494
|
|
||||||
'';
|
|
||||||
"jellyfin.kruining.eu".extraConfig = ''
|
"jellyfin.kruining.eu".extraConfig = ''
|
||||||
reverse_proxy http://127.0.0.1:8096
|
reverse_proxy http://[::1]:8096
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.jellyfin.serviceConfig.killSignal = lib.mkForce "SIGKILL";
|
systemd.services.jellyfin.serviceConfig.killSignal = lib.mkForce "SIGKILL";
|
||||||
|
|
||||||
${namespace}.services.virtualisation.podman.enable = true;
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
oci-containers = {
|
|
||||||
backend = "podman";
|
|
||||||
|
|
||||||
containers = {
|
|
||||||
# flaresolverr = {
|
|
||||||
# image = "flaresolverr/flaresolverr";
|
|
||||||
# autoStart = true;
|
|
||||||
# ports = [ "127.0.0.1:8191:8191" ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
reiverr = {
|
|
||||||
image = "ghcr.io/aleksilassila/reiverr:v2.2.0";
|
|
||||||
autoStart = true;
|
|
||||||
ports = [ "127.0.0.1:9494:9494" ];
|
|
||||||
volumes = [ "${cfg.path}/reiverr/config:/config" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 80 443 6969 ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue