Add sonarr.docker-compose.yml

Signed-off-by: karmacoma <karmacoma@karmacoma.dev>
This commit is contained in:
KARMACOMA 2025-11-26 00:07:03 +00:00
parent b9c7ec27d0
commit 84dcba6571

59
sonarr.docker-compose.yml Normal file
View file

@ -0,0 +1,59 @@
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ:-Europe/Berlin}
# Make sure these variables are defined in your .env file or host system
# otherwise they will be empty inside the container.
- SERVICE_URL_sonarr_8989
- _APP_URL=$SERVICE_URL_sonarr
volumes:
# Option A: Named Volume (Managed by Docker, harder to backup manually)
- sonarr-config:/config
# Option B: Bind Mount (Easier to backup, stores files on your host folder)
# - ./config/sonarr:/config <-- I usually recommend this for "arr" apps
# YOUR STORAGE BOX
- /mnt/osirisbox:/data
# FIX: This was indented inside 'volumes' in your snippet.
# It must be at the same level as 'volumes' and 'environment'.
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8989/ping"]
interval: 30s # 2s is very aggressive, 30s is standard
timeout: 10s
retries: 3
labels:
- "traefik.enable=true"
# Define a custom service pointing to port 8989 (sonarr WebUI)
- "traefik.http.services.sonarr-svc.loadbalancer.server.port=8989"
# --- SECURE ROUTER (HTTPS) ---
# 1. Match the domain
- "traefik.http.routers.sonarr-secure.rule=Host(`sonarr.karmacoma.dev`)"
# 2. Use HTTPS entrypoint
- "traefik.http.routers.sonarr-secure.entrypoints=https"
# 3. Enable TLS (SSL) using LetsEncrypt
- "traefik.http.routers.sonarr-secure.tls=true"
- "traefik.http.routers.sonarr-secure.tls.certresolver=letsencrypt"
# 4. Apply the Authentik Middleware (Check the name matches your dynamic config)
- "traefik.http.routers.sonarr-secure.middlewares=authentik-auth@file"
# 5. Point to the service we defined above
- "traefik.http.routers.sonarr-secure.service=sonarr-svc"
# 6. PRIORITY: This is the fix. Higher number wins over Coolify defaults.
- "traefik.http.routers.sonarr-secure.priority=100"
# --- OPTIONAL: HTTP REDIRECT (Standard Coolify behavior) ---
- "traefik.http.routers.gluetun-http.rule=Host(`qbittorrent.karmacoma.dev`)"
- "traefik.http.routers.gluetun-http.entrypoints=http"
- "traefik.http.routers.gluetun-http.middlewares=redirect-to-https"
- "traefik.http.routers.gluetun-http.priority=100"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
# If you stick with Option A (sonarr-config), you must declare it here:
volumes:
sonarr-config: