Files
nas-compose/media-player/docker-compose.yml
2023-12-04 10:49:33 +08:00

103 lines
3.1 KiB
YAML

name: media-player
services:
plex:
hostname: plex
image: plexinc/pms-docker:plexpass
environment:
PLEX_UID: ${NASCOMPOSE_UID?}
PLEX_GID: ${NASCOMPOSE_GID?}
networks:
- reverse-proxy
- media-player
volumes:
- ${NASCOMPOSE_SERVICES?}/media-player/volumes/plex_config/:/config/
- ${NASCOMPOSE_DATA?}/media/anime/:/data/anime/:ro
- ${NASCOMPOSE_DATA?}/media/tv/:/data/tv/:ro
- ${NASCOMPOSE_DATA?}/media/movies/:/data/movies/:ro
restart: unless-stopped
labels:
traefik.enable: true
traefik.http.services.plex.loadbalancer.server.port: 32400
traefik.http.services.plex.loadbalancer.server.scheme: https
tautulli:
hostname: tautulli
image: lscr.io/linuxserver/tautulli
environment:
PUID: ${NASCOMPOSE_UID?}
PGID: ${NASCOMPOSE_GID?}
networks:
- reverse-proxy
- media-player
volumes:
- ${NASCOMPOSE_SERVICES?}/media-player/volumes/tautulli_config/:/config/
restart: unless-stopped
labels:
traefik.enable: true
traefik.http.routers.tautulli.middlewares: authelia@file
plaxt:
hostname: plaxt
image: xanderstrike/goplaxt
profiles: [plaxt]
user: ${NASCOMPOSE_UID?}:${NASCOMPOSE_GID?}
environment:
TRAKT_ID_FILE: /run/secrets/trakt_id
TRAKT_SECRET_FILE: /run/secrets/trakt_secret
networks:
- reverse-proxy
- media-player
volumes:
- ${NASCOMPOSE_SERVICES?}/media-player/volumes/plaxt_keystore/:/app/keystore/
# Secrets
- ${NASCOMPOSE_SERVICES?}/media-player/secrets/trakt_id:/run/secrets/trakt_id:ro
- ${NASCOMPOSE_SERVICES?}/media-player/secrets/trakt_secret:/run/secrets/trakt_secret:ro
restart: unless-stopped
labels:
traefik.enable: true
audiobookshelf:
hostname: audiobookshelf
image: advplyr/audiobookshelf
profiles: [ebooks]
environment:
AUDIOBOOKSHELF_UID: ${NASCOMPOSE_UID?}
AUDIOBOOKSHELF_GID: ${NASCOMPOSE_GID?}
networks:
- reverse-proxy
volumes:
- ${NASCOMPOSE_SERVICES?}/media-player/volumes/audiobookshelf_config/:/config/
- ${NASCOMPOSE_SERVICES?}/media-player/volumes/audiobookshelf_metadata/:/metadata/
- ${NASCOMPOSE_DATA?}/media/audiobooks/:/audiobooks/
restart: unless-stopped
labels:
traefik.enable: true
traefik.http.routers.audiobookshelf.middlewares: authelia@file
jellyfin:
hostname: jellyfin
image: jellyfin/jellyfin
user: ${NASCOMPOSE_UID?}:${NASCOMPOSE_GID?}
networks:
- reverse-proxy
- media-player
volumes:
- ${NASCOMPOSE_SERVICES?}/media-player/volumes/jellyfin_config/:/config/
- ${NASCOMPOSE_SERVICES?}/media-player/volumes/jellyfin_cache/:/cache/
- ${NASCOMPOSE_DATA?}/media/anime/:/data/anime/:ro
- ${NASCOMPOSE_DATA?}/media/tv/:/data/tv/:ro
- ${NASCOMPOSE_DATA?}/media/movies/:/data/movies/:ro
restart: unless-stopped
labels:
traefik.enable: true
traefik.http.services.jellyfin.loadbalancer.server.port: 8096
traefik.http.services.jellyfin.loadbalancer.server.scheme: https
networks:
media-player:
name: media-player
reverse-proxy:
external: true