From 961ec128f10f2e9b07992febd263b68b941e8c07 Mon Sep 17 00:00:00 2001 From: Adrian Cowan Date: Wed, 19 Nov 2025 20:49:05 +1100 Subject: [PATCH] Setup prowlarr --- 2-nomad-config/prowlarr.nomad.hcl | 119 ++++++++++++++++++++++++ 2-nomad-config/prowlarr.tf | 53 +++++++++++ 2-nomad-config/secrets/secrets.enc.json | 7 +- 2-nomad-config/sonarr.nomad.hcl | 56 +++++++---- 4 files changed, 215 insertions(+), 20 deletions(-) create mode 100644 2-nomad-config/prowlarr.nomad.hcl create mode 100644 2-nomad-config/prowlarr.tf diff --git a/2-nomad-config/prowlarr.nomad.hcl b/2-nomad-config/prowlarr.nomad.hcl new file mode 100644 index 0000000..15c29c8 --- /dev/null +++ b/2-nomad-config/prowlarr.nomad.hcl @@ -0,0 +1,119 @@ +job "prowlarr" { + group "prowlarr" { + network { + mode = "bridge" + port "http" { + to = 9696 + } + } + + service { + connect { + sidecar_service { + proxy { + upstreams { + destination_name = "postgres" + local_bind_port = 5432 + } + upstreams { + destination_name = "sonarr-api" + local_bind_port = 8989 + } + } + } + } + } + + service { + name = "prowlarr" + port = "http" + + tags = [ + "traefik.enable=true", + "traefik.http.routers.prowlarr.middlewares=auth@file", + ] + + check { + type = "http" + path = "/" + interval = "10s" + timeout = "2s" + } + } + + service { + name = "prowlarr-api" + port = "http" + address_mode = "alloc" # Use allocation IP for Connect as the sidecar can't access the host's published port (hairpin/loopback NAT issue) + + connect { + sidecar_service {} + } + + check { + type = "http" + path = "/" + interval = "10s" + timeout = "2s" + } + } + + task "prowlarr" { + driver = "docker" + + config { + image = "lscr.io/linuxserver/prowlarr:latest" + ports = ["http"] + } + + env { + PUID = 1000 + PGID = 1000 + TZ = "Australia/Melbourne" + + # https://wiki.servarr.com/prowlarr/postgres-setup + + # Disable internal auth to use Traefik + Authelia + PROWLARR__AUTH__REQUIRED = "Enabled" + PROWLARR__AUTH__METHOD = "External" + + PROWLARR__POSTGRES__USER = "prowlarr" + PROWLARR__POSTGRES__HOST = "localhost" + PROWLARR__POSTGRES__PORT = "5432" + PROWLARR__POSTGRES__MAINDB = "prowlarr-main" + PROWLARR__POSTGRES__LOGDB = "prowlarr-log" + } + + volume_mount { + volume = "unraid_appdata_prowlarr" + destination = "/config" + read_only = false + } + + resources { + cpu = 150 + memory = 512 + } + + template { + data = <