services: radarr: container_name: radarr image: lscr.io/linuxserver/radarr:latest restart: unless-stopped ports: - "7878:7878" environment: - PUID=1000 - PGID=1000 - TZ=America/Chicago volumes: - /srv/docker/radarr/config:/config - /mnt/media:/data labels: - "com.centurylinklabs.watchtower.scope=radarr" sonarr: container_name: sonarr image: lscr.io/linuxserver/sonarr:latest restart: unless-stopped ports: - "8989:8989" environment: - PUID=1000 - PGID=1000 - TZ=America/Chicago volumes: - /srv/docker/sonarr/config:/config - /mnt/media:/data labels: - "com.centurylinklabs.watchtower.scope=sonarr" prowlarr: container_name: prowlarr image: lscr.io/linuxserver/prowlarr:latest restart: unless-stopped ports: - "9696:9696" environment: - PUID=1000 - PGID=1000 - TZ=America/Chicago volumes: - /srv/docker/prowlarr/config:/config labels: - "com.centurylinklabs.watchtower.scope=prowlarr" flaresolverr: container_name: flaresolverr image: ghcr.io/flaresolverr/flaresolverr:latest restart: unless-stopped ports: - "8191:8191" environment: - TZ=America/Chicago # NOTE: Watchtower is NOT managed as a persistent container here. # Updates are handled by cron jobs on the host that run Watchtower in # --run-once mode, one container at a time, at staggered times. # See /usr/local/bin/watchtower-update.sh and crontab for jgitta user. # This avoids Watchtower's multi-instance detection killing concurrent instances.