networks: proxy: external: true media: driver: bridge services: flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest container_name: flaresolverr environment: - LOG_LEVEL=${LOG_LEVEL:-info} - LOG_HTML=${LOG_HTML:-false} - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} - TZ=${TZ:-Europe/Madrid} restart: unless-stopped networks: - media shm_size: "1gb" prowlarr: image: lscr.io/linuxserver/prowlarr:latest container_name: prowlarr environment: - PUID=0 - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/prowlarr:/config:Z restart: unless-stopped networks: - media - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.prowlarr.rule=Host(`${PROWLARR_HOST}`) - traefik.http.routers.prowlarr.entrypoints=websecure - traefik.http.routers.prowlarr.tls=true - traefik.http.routers.prowlarr.tls.certresolver=letsencrypt - traefik.http.routers.prowlarr.middlewares=ths-authentik@docker - traefik.http.services.prowlarr.loadbalancer.server.port=9696 jackett: image: lscr.io/linuxserver/jackett:latest container_name: jackett environment: - PUID=0 - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/jackett:/config:Z restart: unless-stopped networks: - media - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.jackett.rule=Host(`${JACKETT_HOST}`) - traefik.http.routers.jackett.entrypoints=websecure - traefik.http.routers.jackett.tls=true - traefik.http.routers.jackett.tls.certresolver=letsencrypt - traefik.http.routers.jackett.middlewares=ths-authentik@docker - traefik.http.services.jackett.loadbalancer.server.port=9117 sonarr: image: lscr.io/linuxserver/sonarr:latest container_name: sonarr environment: - PUID=0 - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/sonarr:/config:Z - /mnt/media/tv:/tv - /mnt/media/downloads:/downloads restart: unless-stopped networks: - media - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.sonarr.rule=Host(`${SONARR_HOST}`) - traefik.http.routers.sonarr.entrypoints=websecure - traefik.http.routers.sonarr.tls=true - traefik.http.routers.sonarr.tls.certresolver=letsencrypt - traefik.http.routers.sonarr.middlewares=ths-authentik@docker - traefik.http.services.sonarr.loadbalancer.server.port=8989 radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr environment: - PUID=0 - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/radarr:/config:Z - /mnt/media/movies:/movies - /mnt/media/downloads:/downloads restart: unless-stopped networks: - media - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.radarr.rule=Host(`${RADARR_HOST}`) - traefik.http.routers.radarr.entrypoints=websecure - traefik.http.routers.radarr.tls=true - traefik.http.routers.radarr.tls.certresolver=letsencrypt - traefik.http.routers.radarr.middlewares=ths-authentik@docker - traefik.http.services.radarr.loadbalancer.server.port=7878 jellyseerr: image: fallenbagel/jellyseerr:latest container_name: jellyseerr environment: - LOG_LEVEL=debug - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/jellyseerr:/app/config:Z restart: unless-stopped networks: - media - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.jellyseerr.rule=Host(`${JELLYSEERR_HOST}`) - traefik.http.routers.jellyseerr.entrypoints=websecure - traefik.http.routers.jellyseerr.tls=true - traefik.http.routers.jellyseerr.tls.certresolver=letsencrypt - traefik.http.routers.jellyseerr.middlewares=ths-authentik@docker - traefik.http.services.jellyseerr.loadbalancer.server.port=5055 # Opcional: Jellyfin en VPS (sin GPU) jellyfin: image: lscr.io/linuxserver/jellyfin:latest container_name: jellyfin-vps environment: - PUID=0 - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/jellyfin-vps:/config:Z - ${COMMON_PATH}/jellyfin/cache-vps:/cache:Z - /mnt/media/tv:/data/tvshows - /mnt/media/movies:/data/movies - /mnt/media/downloads:/data/media_downloads restart: unless-stopped networks: - media - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.jellyfin.rule=Host(`${JELLYFIN_HOST}`) - traefik.http.routers.jellyfin.entrypoints=websecure - traefik.http.routers.jellyfin.tls=true - traefik.http.routers.jellyfin.tls.certresolver=letsencrypt - traefik.http.routers.jellyfin.middlewares=ths-authentik@docker - traefik.http.services.jellyfin.loadbalancer.server.port=8096