162 lines
3.3 KiB
Nix
162 lines
3.3 KiB
Nix
{ config, pkgs, lib, sensitive, ... }:
|
|
{
|
|
imports = [
|
|
../common/qbittorrent.nix
|
|
];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
podman-tui
|
|
jellyfin
|
|
jellyseerr
|
|
mediainfo
|
|
authelia
|
|
];
|
|
|
|
users = {
|
|
groups = {
|
|
"jellyfin" = {};
|
|
};
|
|
users = {
|
|
"sonarr".extraGroups = [ "jellyfin" ];
|
|
"radarr".extraGroups = [ "jellyfin" ];
|
|
};
|
|
};
|
|
|
|
services = {
|
|
jellyfin = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "jellyfin";
|
|
};
|
|
|
|
radarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "jellyfin";
|
|
};
|
|
|
|
sonarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "jellyfin";
|
|
};
|
|
|
|
bazarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "jellyfin";
|
|
};
|
|
|
|
lidarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "jellyfin";
|
|
};
|
|
|
|
jellyseerr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
prowlarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
qbittorrent = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
dataDir = "/var/media/qbittorrent";
|
|
port = 58080;
|
|
|
|
user = "qbittorrent";
|
|
group = "jellyfin";
|
|
};
|
|
|
|
sabnzbd = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
configFile = "/var/media/sabnzbd/config.ini";
|
|
|
|
user = "sabnzbd";
|
|
group = "jellyfin";
|
|
};
|
|
|
|
# authelia = {
|
|
# enable = true;
|
|
# };
|
|
|
|
caddy = {
|
|
enable = true;
|
|
virtualHosts = {
|
|
# "movies.kruining.eu".extraConfig = ''
|
|
# reverse_proxy http://127.0.0.1:8989
|
|
# '';
|
|
# "series.kruining.eu".extraConfig = ''
|
|
# reverse_proxy http://127.0.0.1:7878
|
|
# '';
|
|
"http://media.kruining.eu".extraConfig = ''
|
|
basicauth {
|
|
chris $2a$12$JrsmxrEJj2wLMdcFmEHbWeMJF9gWH/fnE/1Zv67cKvBtq4E4xsSEe
|
|
}
|
|
reverse_proxy http://127.0.0.1:9494
|
|
'';
|
|
"https://media.kruining.eu".extraConfig = ''
|
|
basicauth {
|
|
chris $2a$12$JrsmxrEJj2wLMdcFmEHbWeMJF9gWH/fnE/1Zv67cKvBtq4E4xsSEe
|
|
}
|
|
reverse_proxy http://127.0.0.1:9494
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
virtualisation = {
|
|
containers.enable = true;
|
|
|
|
podman = {
|
|
enable = true;
|
|
dockerCompat = true;
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
};
|
|
|
|
oci-containers = {
|
|
backend = "podman";
|
|
|
|
containers = {
|
|
flaresolverr = {
|
|
image = "flaresolverr/flaresolverr";
|
|
autoStart = true;
|
|
ports = [ "127.0.0.1:8191:8191" ];
|
|
};
|
|
|
|
homarr = {
|
|
image = "ghcr.io/ajnart/homarr:latest";
|
|
autoStart = true;
|
|
ports = [ "127.0.0.1:7575:7575" ];
|
|
};
|
|
|
|
reiverr = {
|
|
image = "ghcr.io/aleksilassila/reiverr:v2.0.0-alpha.5";
|
|
autoStart = true;
|
|
ports = [ "127.0.0.1:9494:9494" ];
|
|
volumes = [ "/var/media/reiverr/config:/config" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
# Config file for nabnzbd
|
|
# environment.etc."nabnzbd.ini" = {
|
|
# mode = "0775"
|
|
# text = ''
|
|
# host = 127.0.0.1
|
|
# port = 9595
|
|
# '';
|
|
# };
|
|
|
|
# Open firewall for caddy
|
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
|
|
|
systemd.services.jellyfin.serviceConfig.killSignal = lib.mkForce "SIGKILL";
|
|
}
|