{ config, lib, pkgs, ...}: { users.groups.media = {}; # # Downloading movies services.radarr = { enable = true; openFirewall = false; dataDir = "/var/lib/radarr"; group = "media"; }; services.caddy.virtualHosts."radarr.${config.homelab.domain}" = { useACMEHost = config.homelab.domain; extraConfig = '' reverse_proxy http://localhost:7878 import block_non_private_ips ''; }; # # Downloading shows services.sonarr = { enable = true; openFirewall = false; dataDir = "/var/lib/sonarr"; group = "media"; }; services.caddy.virtualHosts."sonarr.${config.homelab.domain}" = { useACMEHost = config.homelab.domain; extraConfig = '' reverse_proxy http://localhost:8989 import block_non_private_ips ''; }; # # Managing Torrent sources services.prowlarr = { enable = true; openFirewall = false; }; services.caddy.virtualHosts."prowlarr.${config.homelab.domain}" = { useACMEHost = config.homelab.domain; extraConfig = '' reverse_proxy http://localhost:9696 import block_non_private_ips ''; }; # # Finding subtitles services.bazarr = { enable = true; openFirewall = false; group = "media"; }; services.caddy.virtualHosts."bazarr.${config.homelab.domain}" = { useACMEHost = config.homelab.domain; extraConfig = '' reverse_proxy http://localhost:6767 import block_non_private_ips ''; }; # # Downloading torrents services.deluge = { enable = true; web.enable = true; web.openFirewall = false; group = "media"; declarative = true; authFile = "/var/lib/deluge/auth"; config = { download_location = "/media/torrents/"; torrentfiles_location = "/media/torrents/files/"; copy_torrent_file = true; allow_remote = true; random_port = true; upnp = true; max_active_seeding = 5; max_active_downloading = 3; max_active_limit = 8; max_download_speed = -1; max_upload_speed = 10000; # 10 MiB/s new_release_check = false; enabled_plugins = [ "Label" ]; }; }; services.caddy.virtualHosts."deluge.${config.homelab.domain}" = { useACMEHost = config.homelab.domain; extraConfig = '' reverse_proxy http://localhost:8112 import block_non_private_ips ''; }; # # Requesting Frontend services.jellyseerr = { enable = true; port = 5055; openFirewall = false; package = pkgs.jellyseerr; }; services.caddy.virtualHosts."jellyseer.${config.homelab.domain}" = { useACMEHost = config.homelab.domain; extraConfig = '' reverse_proxy http://localhost:5055 import block_non_private_ips ''; }; }