homelab/bxl-shp/apps/docker-compose.mediaserver....

265 lines
7.9 KiB
YAML

services:
jellyfin:
container_name: jellyfin
image: jellyfin/jellyfin:latest
volumes:
- $DATA/mediaserver/jellyfin2:/config
- /mnt/movies/series:/media/tvshows
- /mnt/movies/movies:/media/movies
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.jellyfin.rule=Host(`jellyfin.bhasher.com`)"
- "traefik.http.routers.jellyfin.entrypoints=internalsecure,externalsecure"
- "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
- "traefik.http.routers.jellyfin.tls=true"
- "traefik.http.routers.jellyfin.tls.certresolver=http"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- auth
- external
radarr:
container_name: radarr
image: lscr.io/linuxserver/radarr:latest
environment:
- TZ=Europe/Paris
- PUID=1000
- PGID=1000
volumes:
- $DATA/mediaserver/radarr:/config
- /mnt/movies/movies:/movies
- /mnt/movies/tmp:/downloads
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.radarr.rule=Host(`radarr.bhasher.com`)"
- "traefik.http.services.radarr.loadbalancer.server.port=7878"
- "traefik.http.routers.radarr.tls=true"
- "traefik.http.routers.radarr.tls.certresolver=http"
- "traefik.http.routers.radarr.entrypoints=internalsecure"
- "traefik.http.routers.radarr.middlewares=authelia@docker"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- mediaserver
- external
sonarr:
container_name: sonarr
image: lscr.io/linuxserver/sonarr:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- $DATA/mediaserver/sonarr:/config
- /mnt/movies/series:/tv
- /mnt/movies/tmp:/downloads
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.sonarr.rule=Host(`sonarr.bhasher.com`)"
- "traefik.http.services.sonarr.loadbalancer.server.port=8989"
- "traefik.http.routers.sonarr.tls=true"
- "traefik.http.routers.sonarr.tls.certresolver=http"
- "traefik.http.routers.sonarr.entrypoints=internalsecure"
- "traefik.http.routers.sonarr.middlewares=authelia@docker"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- mediaserver
- external
transmission:
container_name: transmission
image: lscr.io/linuxserver/transmission:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- $DATA/mediaserver/transmission:/config
- /mnt/movies/tmp:/downloads
- /mnt/movies/torrents:/watch
ports:
- 51413:51413/tcp
- 51413:51413/udp
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.transmission.rule=Host(`transmission.bhasher.com`)"
- "traefik.http.services.transmission.loadbalancer.server.port=9091"
- "traefik.http.routers.transmission.tls=true"
- "traefik.http.routers.transmission.tls.certresolver=http"
- "traefik.http.routers.transmission.entrypoints=internalsecure"
- "traefik.http.routers.transmission.middlewares=authelia@docker"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- mediaserver
- external
prowlarr:
container_name: prowlarr
image: lscr.io/linuxserver/prowlarr:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- $DATA/mediaserver/prowlarr:/config
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.bhasher.com`)"
- "traefik.http.services.prowlarr.loadbalancer.server.port=9696"
- "traefik.http.routers.prowlarr.tls=true"
- "traefik.http.routers.prowlarr.tls.certresolver=http"
- "traefik.http.routers.prowlarr.entrypoints=internalsecure"
- "traefik.http.routers.prowlarr.middlewares=authelia@docker"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- mediaserver
- external
flaresolverr:
container_name: flaresolverr
image: ghcr.io/flaresolverr/flaresolverr:latest
environment:
- LOG_LEVEL=info
- LOG_HTML=false
- CAPTCHA_SOLVER=none
- TZ=Europe/Paris
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
networks:
- mediaserver
bazarr:
container_name: bazarr
image: lscr.io/linuxserver/bazarr
environment:
- TZ=Europe/Paris
- PUID=1000
- PGID=1000
volumes:
- $DATA/mediaserver/bazarr:/config
- /mnt/movies/movies:/movies
- /mnt/movies/series:/tv
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.bazarr.rule=Host(`bazarr.bhasher.com`)"
- "traefik.http.services.bazarr.loadbalancer.server.port=6767"
- "traefik.http.routers.bazarr.tls=true"
- "traefik.http.routers.bazarr.tls.certresolver=http"
- "traefik.http.routers.bazarr.entrypoints=internalsecure"
- "traefik.http.routers.bazarr.middlewares=authelia@docker"
- "com.centurylinklabs.watchtower.enable=true"
networks:
- mediaserver
- external
tdarr:
container_name: tdarr
image: ghcr.io/haveagitgat/tdarr:latest
restart: unless-stopped
environment:
- TZ=Europe/Paris
- PUID=1000
- PGID=1000
#- UMASK_SET=002
#- serverIP=0.0.0.0
#- serverPort=8266
#- webUIPort=8265
- internalNode=true
- inContainer=true
#- ffmpegVersion=6
- nodeName=shp
#- NVIDIA_DRIVER_CAPABILITIES=all
#- NVIDIA_VISIBLE_DEVICES=all
volumes:
- $DATA/mediaserver/tdarr/server:/app/server
- $DATA/mediaserver/tdarr/configs:/app/configs
- $DATA/mediaserver/tdarr/logs:/app/logs
- /mnt/movies/movies:/media/moves
- /mnt/movies/series:/media/tv
- /tmp/tdarr:/temp
devices:
- /dev/dri:/dev/dri
labels:
- "traefik.enable=true"
- "traefik.http.routers.tdarr.rule=Host(`tdarr.bhasher.com`)"
- "traefik.http.services.tdarr.loadbalancer.server.port=8265"
- "traefik.http.routers.tdarr.tls=true"
- "traefik.http.routers.tdarr.tls.certresolver=http"
- "traefik.http.routers.tdarr.entrypoints=internalsecure"
- "traefik.http.routers.tdarr.middlewares=authelia@docker"
- "com.centurylinklabs.watchtower.enable=true"
networks:
#- mediaserver
- external
movary:
container_name: movary
image: leepeuker/movary:latest
restart: unless-stopped
environment:
- TZ=Europe/Paris
#- PUID=1000
#- PGID=1000
- TMDB_API_KEY=${TMDB_API_KEY}
- DATABASE_MODE=mysql
- DATABASE_MYSQL_HOST=movary-db
- DATABASE_MYSQL_NAME=movary
- DATABASE_MYSQL_USER=movary
- DATABASE_MYSQL_PASSWORD=${MARIADB_ROOT}
- TMDB_ENABLE_IMAGE_CACHING=1
- APPLICATION_URL=http://movary
- JELLYFIN_DEVICE_ID=+y7tuKY2mhGFchizNYpII7Hb4Isz5r6t/Y46agVvoJs=
volumes:
- $DATA/mediaserver/movary/app:/app/storage:rw
labels:
- "traefik.enable=true"
- "traefik.http.routers.movary.rule=Host(`movary.bhasher.com`)"
- "traefik.http.services.movary.loadbalancer.server.port=80"
- "traefik.http.routers.movary.tls=true"
- "traefik.http.routers.movary.tls.certresolver=http"
- "traefik.http.routers.movary.entrypoints=internalsecure"
- "traefik.http.routers.movary.middlewares=authelia@docker"
- "com.centurylinklabs.watchtower.enable=true"
depends_on:
- movary-db
networks:
- mediaserver
- external
movary-db:
container_name: movary-db
image: mysql:8
environment:
- MYSQL_DATABASE=movary
- MYSQL_USER=movary
- MYSQL_PASSWORD=${MARIADB_ROOT}
- MYSQL_ROOT_PASSWORD=${MARIADB_ROOT}
volumes:
- $DATA/mediaserver/movary/db:/var/lib/mysql
networks:
- mediaserver
#sonarr_youtubedl:
# image: whatdaybob/sonarr_youtubedl:latest
# container_name: sonarr_youtubedl
# volumes:
# - $DATA/mediaserver/youtubedl:/config
# - /mnt/movies/series:/sonarr_root
# networks:
# - mediaserver
networks:
mediaserver: