{ config, lib, pkgs, ... }: let cfg = config.sydnix.deertopia.servarr.radarr; in { options.sydnix.deertopia.servarr.radarr = { enable = lib.mkEnableOption "Radarr (via Nixarr)"; }; config = lib.mkIf cfg.enable { nixarr.radarr = { enable = true; openFirewall = true; }; sydnix.deertopia.nginx.vhosts."radarr" = { directory = null; vhost = { forceSSL = true; enableACME = true; # Per https://wiki.servarr.com/radarr/installation/reverse-proxy locations."/".extraConfig = '' proxy_pass $upstream; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; ''; locations."/api".extraConfig = '' # Allow the API External Access via NGINX auth_basic off; proxy_pass $upstream; ''; extraConfig = '' set $upstream http://127.0.0.1:7878; ''; }; }; }; }