Files
homelab-configs/jellyfin/arr-stack/docker-compose.yml
T

166 lines
5.7 KiB
YAML

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
# Main watchtower — handles unscoped containers (flaresolverr, portainer-agent)
# Runs at 4:09 AM — last in sequence, after all lscr.io checks are done
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/jgitta/.docker/config.json:/config.json:ro
environment:
- TZ=America/Chicago
- WATCHTOWER_NOTIFICATIONS=email
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_TO=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.fastmail.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=2l79229z6r4y8x8y
- WATCHTOWER_NOTIFICATIONS_LEVEL=info
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 9 4 * * *
- WATCHTOWER_ROLLING_RESTART=true
- WATCHTOWER_ROLLING_RESTART_TIMEOUT=30s
- WATCHTOWER_HTTP_API_PERIODIC_POLLS=false
- WATCHTOWER_CONTAINER_WAIT_BEFORE_STOPPING=60s
labels:
- "com.centurylinklabs.watchtower.enable=false"
# Scoped watchtower for radarr only — runs first at 4:00 AM
watchtower-radarr:
image: containrrr/watchtower
container_name: watchtower-radarr
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/jgitta/.docker/config.json:/config.json:ro
environment:
- TZ=America/Chicago
- WATCHTOWER_SCOPE=radarr
- WATCHTOWER_NOTIFICATIONS=email
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_TO=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.fastmail.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=2l79229z6r4y8x8y
- WATCHTOWER_NOTIFICATIONS_LEVEL=info
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 4 * * *
- WATCHTOWER_ROLLING_RESTART=true
- WATCHTOWER_ROLLING_RESTART_TIMEOUT=30s
- WATCHTOWER_CONTAINER_WAIT_BEFORE_STOPPING=60s
labels:
- "com.centurylinklabs.watchtower.enable=false"
# Scoped watchtower for sonarr only — runs at 4:03 AM
watchtower-sonarr:
image: containrrr/watchtower
container_name: watchtower-sonarr
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/jgitta/.docker/config.json:/config.json:ro
environment:
- TZ=America/Chicago
- WATCHTOWER_SCOPE=sonarr
- WATCHTOWER_NOTIFICATIONS=email
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_TO=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.fastmail.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=2l79229z6r4y8x8y
- WATCHTOWER_NOTIFICATIONS_LEVEL=info
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 3 4 * * *
- WATCHTOWER_ROLLING_RESTART=true
- WATCHTOWER_ROLLING_RESTART_TIMEOUT=30s
- WATCHTOWER_CONTAINER_WAIT_BEFORE_STOPPING=60s
labels:
- "com.centurylinklabs.watchtower.enable=false"
# Scoped watchtower for prowlarr only — runs at 4:06 AM
watchtower-prowlarr:
image: containrrr/watchtower
container_name: watchtower-prowlarr
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/jgitta/.docker/config.json:/config.json:ro
environment:
- TZ=America/Chicago
- WATCHTOWER_SCOPE=prowlarr
- WATCHTOWER_NOTIFICATIONS=email
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_TO=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.fastmail.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=2l79229z6r4y8x8y
- WATCHTOWER_NOTIFICATIONS_LEVEL=info
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 6 4 * * *
- WATCHTOWER_ROLLING_RESTART=true
- WATCHTOWER_ROLLING_RESTART_TIMEOUT=30s
- WATCHTOWER_CONTAINER_WAIT_BEFORE_STOPPING=60s
labels:
- "com.centurylinklabs.watchtower.enable=false"