diff --git a/media-server/docker-compose.yml b/media-server/docker-compose.yml index 4549931..90a5486 100644 --- a/media-server/docker-compose.yml +++ b/media-server/docker-compose.yml @@ -6,8 +6,8 @@ networks: services: flaresolverr: - image: ${FLARESOLVERR_IMAGE:-ghcr.io/flaresolverr/flaresolverr:latest} - container_name: ${FLARESOLVERR_CONTAINER_NAME:-flaresolverr} + image: ghcr.io/flaresolverr/flaresolverr:latest + container_name: flaresolverr environment: - LOG_LEVEL=${LOG_LEVEL:-info} - LOG_HTML=${LOG_HTML:-false} @@ -16,14 +16,14 @@ services: restart: unless-stopped networks: - media - shm_size: ${FLARESOLVERR_SHM_SIZE:-1gb} + shm_size: "1gb" prowlarr: - image: ${PROWLARR_IMAGE:-lscr.io/linuxserver/prowlarr:latest} - container_name: ${PROWLARR_CONTAINER_NAME:-prowlarr} + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr environment: - - PUID=${PUID:-0} - - PGID=${PGID:-0} + - PUID=0 + - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/prowlarr:/config:Z @@ -32,21 +32,21 @@ services: - media - proxy labels: - - traefik.enable=${TRAEFIK_ENABLE:-true} - - traefik.docker.network=${TRAEFIK_DOCKER_NETWORK:-proxy} + - traefik.enable=true + - traefik.docker.network=proxy - traefik.http.routers.prowlarr.rule=Host(`${PROWLARR_HOST}`) - - traefik.http.routers.prowlarr.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure} - - traefik.http.routers.prowlarr.tls=${TRAEFIK_TLS:-true} - - traefik.http.routers.prowlarr.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt} - - traefik.http.routers.prowlarr.middlewares=${AUTH_MIDDLEWARE:-authentik@docker} - - traefik.http.services.prowlarr.loadbalancer.server.port=${PROWLARR_PORT:-9696} + - traefik.http.routers.prowlarr.entrypoints=websecure + - traefik.http.routers.prowlarr.tls=true + - traefik.http.routers.prowlarr.tls.certresolver=letsencrypt + - traefik.http.routers.prowlarr.middlewares=authentik@docker + - traefik.http.services.prowlarr.loadbalancer.server.port=9696 jackett: - image: ${JACKETT_IMAGE:-lscr.io/linuxserver/jackett:latest} - container_name: ${JACKETT_CONTAINER_NAME:-jackett} + image: lscr.io/linuxserver/jackett:latest + container_name: jackett environment: - - PUID=${PUID:-0} - - PGID=${PGID:-0} + - PUID=0 + - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/jackett:/config:Z @@ -55,70 +55,70 @@ services: - media - proxy labels: - - traefik.enable=${TRAEFIK_ENABLE:-true} - - traefik.docker.network=${TRAEFIK_DOCKER_NETWORK:-proxy} + - traefik.enable=true + - traefik.docker.network=proxy - traefik.http.routers.jackett.rule=Host(`${JACKETT_HOST}`) - - traefik.http.routers.jackett.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure} - - traefik.http.routers.jackett.tls=${TRAEFIK_TLS:-true} - - traefik.http.routers.jackett.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt} - - traefik.http.routers.jackett.middlewares=${AUTH_MIDDLEWARE:-authentik@docker} - - traefik.http.services.jackett.loadbalancer.server.port=${JACKETT_PORT:-9117} + - traefik.http.routers.jackett.entrypoints=websecure + - traefik.http.routers.jackett.tls=true + - traefik.http.routers.jackett.tls.certresolver=letsencrypt + - traefik.http.routers.jackett.middlewares=authentik@docker + - traefik.http.services.jackett.loadbalancer.server.port=9117 sonarr: - image: ${SONARR_IMAGE:-lscr.io/linuxserver/sonarr:latest} - container_name: ${SONARR_CONTAINER_NAME:-sonarr} + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr environment: - - PUID=${PUID:-0} - - PGID=${PGID:-0} + - PUID=0 + - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/sonarr:/config:Z - - ${MEDIA_TV:-/mnt/media/tv}:/tv - - ${MEDIA_DOWNLOADS:-/mnt/media/downloads}:/downloads + - /mnt/media/tv:/tv + - /mnt/media/downloads:/downloads restart: unless-stopped networks: - media - proxy labels: - - traefik.enable=${TRAEFIK_ENABLE:-true} - - traefik.docker.network=${TRAEFIK_DOCKER_NETWORK:-proxy} + - traefik.enable=true + - traefik.docker.network=proxy - traefik.http.routers.sonarr.rule=Host(`${SONARR_HOST}`) - - traefik.http.routers.sonarr.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure} - - traefik.http.routers.sonarr.tls=${TRAEFIK_TLS:-true} - - traefik.http.routers.sonarr.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt} - - traefik.http.routers.sonarr.middlewares=${AUTH_MIDDLEWARE:-authentik@docker} - - traefik.http.services.sonarr.loadbalancer.server.port=${SONARR_PORT:-8989} + - traefik.http.routers.sonarr.entrypoints=websecure + - traefik.http.routers.sonarr.tls=true + - traefik.http.routers.sonarr.tls.certresolver=letsencrypt + - traefik.http.routers.sonarr.middlewares=authentik@docker + - traefik.http.services.sonarr.loadbalancer.server.port=8989 radarr: - image: ${RADARR_IMAGE:-lscr.io/linuxserver/radarr:latest} - container_name: ${RADARR_CONTAINER_NAME:-radarr} + image: lscr.io/linuxserver/radarr:latest + container_name: radarr environment: - - PUID=${PUID:-0} - - PGID=${PGID:-0} + - PUID=0 + - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/radarr:/config:Z - - ${MEDIA_MOVIES:-/mnt/media/movies}:/movies - - ${MEDIA_DOWNLOADS:-/mnt/media/downloads}:/downloads + - /mnt/media/movies:/movies + - /mnt/media/downloads:/downloads restart: unless-stopped networks: - media - proxy labels: - - traefik.enable=${TRAEFIK_ENABLE:-true} - - traefik.docker.network=${TRAEFIK_DOCKER_NETWORK:-proxy} + - traefik.enable=true + - traefik.docker.network=proxy - traefik.http.routers.radarr.rule=Host(`${RADARR_HOST}`) - - traefik.http.routers.radarr.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure} - - traefik.http.routers.radarr.tls=${TRAEFIK_TLS:-true} - - traefik.http.routers.radarr.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt} - - traefik.http.routers.radarr.middlewares=${AUTH_MIDDLEWARE:-authentik@docker} - - traefik.http.services.radarr.loadbalancer.server.port=${RADARR_PORT:-7878} + - traefik.http.routers.radarr.entrypoints=websecure + - traefik.http.routers.radarr.tls=true + - traefik.http.routers.radarr.tls.certresolver=letsencrypt + - traefik.http.routers.radarr.middlewares=authentik@docker + - traefik.http.services.radarr.loadbalancer.server.port=7878 jellyseerr: - image: ${JELLYSEERR_IMAGE:-fallenbagel/jellyseerr:latest} - container_name: ${JELLYSEERR_CONTAINER_NAME:-jellyseerr} + image: fallenbagel/jellyseerr:latest + container_name: jellyseerr environment: - - LOG_LEVEL=${JELLYSEERR_LOG_LEVEL:-debug} + - LOG_LEVEL=debug - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/jellyseerr:/app/config:Z @@ -127,39 +127,40 @@ services: - media - proxy labels: - - traefik.enable=${TRAEFIK_ENABLE:-true} - - traefik.docker.network=${TRAEFIK_DOCKER_NETWORK:-proxy} + - traefik.enable=true + - traefik.docker.network=proxy - traefik.http.routers.jellyseerr.rule=Host(`${JELLYSEERR_HOST}`) - - traefik.http.routers.jellyseerr.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure} - - traefik.http.routers.jellyseerr.tls=${TRAEFIK_TLS:-true} - - traefik.http.routers.jellyseerr.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt} - - traefik.http.routers.jellyseerr.middlewares=${AUTH_MIDDLEWARE:-authentik@docker} - - traefik.http.services.jellyseerr.loadbalancer.server.port=${JELLYSEERR_PORT:-5055} + - traefik.http.routers.jellyseerr.entrypoints=websecure + - traefik.http.routers.jellyseerr.tls=true + - traefik.http.routers.jellyseerr.tls.certresolver=letsencrypt + - traefik.http.routers.jellyseerr.middlewares=authentik@docker + - traefik.http.services.jellyseerr.loadbalancer.server.port=5055 + # Opcional: Jellyfin en VPS (sin GPU) jellyfin: - image: ${JELLYFIN_IMAGE:-lscr.io/linuxserver/jellyfin:latest} - container_name: ${JELLYFIN_CONTAINER_NAME:-jellyfin-vps} + image: lscr.io/linuxserver/jellyfin:latest + container_name: jellyfin-vps environment: - - PUID=${PUID:-0} - - PGID=${PGID:-0} + - PUID=0 + - PGID=0 - TZ=${TZ:-Europe/Madrid} volumes: - ${COMMON_PATH}/configs/jellyfin-vps:/config:Z - ${COMMON_PATH}/jellyfin/cache-vps:/cache:Z - - ${MEDIA_TV:-/mnt/media/tv}:/data/tvshows - - ${MEDIA_MOVIES:-/mnt/media/movies}:/data/movies - - ${MEDIA_DOWNLOADS:-/mnt/media/downloads}:/data/media_downloads + - /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=${TRAEFIK_ENABLE:-true} - - traefik.docker.network=${TRAEFIK_DOCKER_NETWORK:-proxy} + - traefik.enable=true + - traefik.docker.network=proxy - traefik.http.routers.jellyfin.rule=Host(`${JELLYFIN_HOST}`) - - traefik.http.routers.jellyfin.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure} - - traefik.http.routers.jellyfin.tls=${TRAEFIK_TLS:-true} - - traefik.http.routers.jellyfin.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt} - - traefik.http.routers.jellyfin.middlewares=${AUTH_MIDDLEWARE:-authentik@docker} - - traefik.http.services.jellyfin.loadbalancer.server.port=${JELLYFIN_PORT:-8096} + - traefik.http.routers.jellyfin.entrypoints=websecure + - traefik.http.routers.jellyfin.tls=true + - traefik.http.routers.jellyfin.tls.certresolver=letsencrypt + - traefik.http.routers.jellyfin.middlewares=authentik@docker + - traefik.http.services.jellyfin.loadbalancer.server.port=8096