Files
Portainer/media-server/docker-compose.yml
root 5617b29fcf fix: replace variable bind mounts with hardcoded paths/named volumes
Coolify converts ${VAR}:/path bind mounts to named Docker volumes when
the variable is not resolved. Fixed per stack:

- adguard: -> named volumes (data already in Coolify-created volumes)
- authentik: -> named volumes (data already in Coolify-created volumes)
- gitea: -> /opt/gitea/{postgres,data,runner}
- mail-relay: -> /opt/mail-relay/{queue,opendkim,secrets/...}
- media-server: COMMON_PATH -> /opt/media (hardcoded)
- trilium: -> /opt/trilium/data
- wireguard: -> /opt/wg-easy + /lib/modules

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-23 02:09:08 +00:00

130 lines
3.1 KiB
YAML

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
pull_policy: always
environment:
- PUID=0
- PGID=0
- TZ=${TZ:-Europe/Madrid}
volumes:
- /opt/media/configs/prowlarr:/config:Z
restart: unless-stopped
networks:
- media
- proxy
labels:
- traefik.http.services.prowlarr.loadbalancer.server.port=9696
jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: jackett
pull_policy: always
environment:
- PUID=0
- PGID=0
- TZ=${TZ:-Europe/Madrid}
volumes:
- /opt/media/configs/jackett:/config:Z
restart: unless-stopped
networks:
- media
- proxy
labels:
- traefik.http.services.jackett.loadbalancer.server.port=9117
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
pull_policy: always
environment:
- PUID=0
- PGID=0
- TZ=${TZ:-Europe/Madrid}
volumes:
- /opt/media/configs/sonarr:/config:Z
- /mnt/media/tv:/tv
- /mnt/media/downloads:/downloads
restart: unless-stopped
networks:
- media
- proxy
labels:
- traefik.http.services.sonarr.loadbalancer.server.port=8989
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
pull_policy: always
environment:
- PUID=0
- PGID=0
- TZ=${TZ:-Europe/Madrid}
volumes:
- /opt/media/configs/radarr:/config:Z
- /mnt/media/movies:/movies
- /mnt/media/downloads:/downloads
restart: unless-stopped
networks:
- media
- proxy
labels:
- traefik.http.services.radarr.loadbalancer.server.port=7878
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
pull_policy: always
environment:
- LOG_LEVEL=debug
- TZ=${TZ:-Europe/Madrid}
volumes:
- /opt/media/configs/jellyseerr:/app/config:Z
restart: unless-stopped
networks:
- media
- proxy
labels:
- 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
pull_policy: always
environment:
- PUID=0
- PGID=0
- TZ=${TZ:-Europe/Madrid}
volumes:
- /opt/media/configs/jellyfin-vps:/config:Z
- /opt/media/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.http.services.jellyfin.loadbalancer.server.port=8096