{ config, ... }: let vars = import ../vars.nix; in { virtualisation.oci-containers.containers = { qbit = { image = "ghcr.io/linuxserver/qbittorrent:latest"; ports = [ "6881:6881" "6881:6881/udp" "8082:8082" "29432:29432" ]; volumes = [ "${vars.media_docker_configs}/qbit:/config" "${vars.torrenting_qbit}:/data" ]; environment = { PUID = "600"; PGID = "100"; TZ = "America/New_York"; WEBUI_PORT = "8082"; }; autoStart = true; }; qbitvpn = { image = "binhex/arch-qbittorrentvpn:latest"; extraOptions = [ "--cap-add=NET_ADMIN" ]; ports = [ "6882:6881" "6882:6881/udp" "8081:8081" "8118:8118" ]; volumes = [ "${vars.media_docker_configs}/qbitvpn:/config" "${vars.torrenting_qbitvpn}:/data" "/etc/localtime:/etc/localtime:ro" ]; environment = { WEBUI_PORT = "8081"; PUID = "600"; PGID = "100"; VPN_ENABLED = "yes"; VPN_CLIENT = "openvpn"; STRICT_PORT_FORWARD = "yes"; ENABLE_PRIVOXY = "yes"; LAN_NETWORK = "192.168.90.0/24"; NAME_SERVERS = "1.1.1.1,1.0.0.1"; UMASK = "000"; DEBUG = "false"; DELUGE_DAEMON_LOG_LEVEL = "debug"; DELUGE_WEB_LOG_LEVEL = "debug"; }; environmentFiles = [ config.sops.secrets."docker/qbit_vpn".path ]; autoStart = true; }; bazarr = { image = "ghcr.io/linuxserver/bazarr:latest"; ports = [ "6767:6767" ]; environment = { PUID = "600"; PGID = "100"; TZ = "America/New_York"; }; volumes = [ "${vars.media_docker_configs}/bazarr:/config" "${vars.storage_plex}/movies:/movies" "${vars.storage_plex}/tv:/tv" ]; autoStart = true; }; prowlarr = { image = "ghcr.io/linuxserver/prowlarr:latest"; ports = [ "9696:9696" ]; environment = { PUID = "600"; PGID = "100"; TZ = "America/New_York"; }; volumes = [ "${vars.media_docker_configs}/prowlarr:/config" ]; autoStart = true; }; radarr = { image = "ghcr.io/linuxserver/radarr:latest"; ports = [ "7878:7878" ]; environment = { PUID = "600"; PGID = "100"; TZ = "America/New_York"; }; volumes = [ "${vars.media_docker_configs}/radarr:/config" "${vars.storage_plex}/movies:/movies" "${vars.torrenting_qbitvpn}:/data" ]; autoStart = true; }; sonarr = { image = "ghcr.io/linuxserver/sonarr:latest"; ports = [ "8989:8989" ]; environment = { PUID = "600"; PGID = "100"; TZ = "America/New_York"; }; volumes = [ "${vars.media_docker_configs}/sonarr:/config" "${vars.storage_plex}/tv:/tv" "${vars.torrenting_qbitvpn}:/data" ]; autoStart = true; }; overseerr = { image = "ghcr.io/linuxserver/overseerr"; environment = { PUID = "600"; PGID = "100"; TZ = "America/New_York"; }; volumes = [ "${vars.media_docker_configs}/overseerr:/config" ]; dependsOn = [ "radarr" "sonarr" ]; extraOptions = [ "--network=web" ]; autoStart = true; }; whisper = { image = "ghcr.io/linuxserver/faster-whisper:latest"; ports = [ "10300:10300" ]; environment = { PUID = "600"; PGID = "100"; TZ = "America/New_York"; WHISPER_MODEL = "tiny-int8"; WHISPER_LANG = "en"; WHISPER_BEAM = "1"; }; volumes = [ "${vars.media_docker_configs}/whisper:/config" ]; autoStart = true; }; }; sops = { defaultSopsFile = ../secrets.yaml; secrets."docker/qbit_vpn".owner = "docker-service"; }; }