{ ... }: let port = "9696"; in { virtualisation.oci-containers.containers = { # Indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. prowlarr = { autoStart = true; image = "ghcr.io/hotio/prowlarr:release-1.18.0.4543"; ports = [ "${port}:9696/tcp" # WebUI ]; volumes = [ # Container data "/srv/containers/prowlarr:/config:rw" ]; environment = { PUID = "1000"; PGID = "100"; }; extraOptions = [ "--network=media-stack" ]; }; }; services.traefik.dynamicConfigOptions.http.routers = { prowlarr = { rule = "Host(`prowlarr.kanto.dev`)"; entryPoints = [ "websecure" ]; middlewares = [ "admin" ]; service = "prowlarr"; }; }; services.traefik.dynamicConfigOptions.http.services = { prowlarr.loadBalancer.servers = [ { url = "http://127.0.0.1:${port}"; } ]; }; }