diff --git a/services/media.hcl b/services/media.hcl index 59c98fd..051c53f 100644 --- a/services/media.hcl +++ b/services/media.hcl @@ -7,9 +7,11 @@ job "media" { group "servers" { network { - port "radarr" { to = 7878 } - port "sonarr" { to = 8989 } + port "radarr" { static = 7878 } + port "sonarr" { static = 8989 } port "bazarr" { to = 6767 } + port "prowlarr" { static = 9696 } + port "jellyseerr" { static = 5055 } port "pms" { static = 32400 } port "qbt_ui" { static = 8080 } port "qbt_torrent" { static = 51413 } @@ -117,6 +119,91 @@ job "media" { } } + task "prowlarr" { + driver = "docker" + + config { + image = "ghcr.io/hotio/prowlarr:latest" + ports = [ "prowlarr" ] + volumes = [ + "/data/services/media/prowlarr:/config", + ] + } + + env { + PUID = 1000 + PGID = 1000 + TZ = "Europe/Lisbon" + } + + resources { + cpu = 200 + } + + service { + name = "prowlarr" + port = "prowlarr" + + tags = [ + "traefik.enable=true", + "traefik.http.routers.prowlarr.entryPoints=websecure", + "traefik.http.routers.prowlarr.middlewares=oidc-auth@file", + ] + } + } + + task "jellyseerr" { + driver = "docker" + + config { + image = "fallenbagel/jellyseerr:latest" + ports = [ "jellyseerr" ] + volumes = [ + "/data/services/media/jellyseerr:/app/config", + ] + } + + env { + TZ = "Europe/Lisbon" + } + + resources { + cpu = 200 + } + + service { + name = "jellyseerr" + port = "jellyseerr" + + tags = [ + "traefik.enable=true", + "traefik.http.routers.jellyseerr.entryPoints=websecure", + "traefik.http.routers.jellyseerr.middlewares=oidc-auth@file", + ] + } + } + + task "recyclarr" { + driver = "docker" + + config { + image = "ghcr.io/recyclarr/recyclarr:latest" + volumes = [ + "/data/services/media/recyclarr:/config", + ] + } + + env { + TZ = "Europe/Lisbon" + CRON_SCHEDULE = "0 0 * * *" # Daily at midnight + } + + resources { + cpu = 100 + memory = 256 + } + } + task "plex" { driver = "docker"