media server

This commit is contained in:
Eduardo David Paredes Vara
2025-12-06 02:07:22 +00:00
parent 43d10ea7cf
commit 43c24b4b86

View File

@@ -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