iac/docker/jellyfin/docker-compose.yml

80 lines
2.3 KiB
YAML

---
services:
jellyfin:
image: ghcr.io/linuxserver/jellyfin@sha256:97bb454710cc1d02ef2c750b57e4c4e9c6d2dbb3e849f405b37c5127f47b7d4c
container_name: jellyfin
devices:
- /dev/dri/renderD129:/dev/dri/renderD129
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel
volumes:
- /home/mafyuh/jellyfin/config:/config
- /mnt/thePoolShare/Media:/Media
- /mnt/thePoolShare/Media/Youtube:/Media/Youtube:ro
- /home/mafyuh/jellyfin/transcodes:/transcodes
- /home/mafyuh/jellyfin/cache:/nvmecache
- /home/mafyuh/jellyfin/metadata:/nvmemetadata
ports:
- 8096:8096
restart: unless-stopped
makemkv:
image: jlesage/makemkv@sha256:60d9420d09eb9a3ce3f9ae386e9f7d970358e2aec3d138ea0f8a294928c645af
container_name: makemkv
ports:
- 5800:5800
environment:
- MAKEMKV_KEY=$MAKEMKV_KEY
volumes:
- /docker/appdata/makemkv:/config:rw
- /home/mafyuh/makemkv/storage:/storage:rw
- /mnt/thePoolShare/Media/BR:/output:rw
devices:
- /dev/sr0:/dev/sr0
privileged: true
syncthing:
image: ghcr.io/linuxserver/syncthing@sha256:34edd556aaada725855f256b30fd94751ef4bdb45ddd6434c5f1dcaca8531747
container_name: syncthing
hostname: JF
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /docker/appdata/syncthing/config:/config
- /docker/appdata/:/docker/appdata/
- /home/mafyuh/jellyfin/:/home/mafyuh/jellyfin/
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
restart: unless-stopped
jellystat-db:
image: postgres:15.2
environment:
POSTGRES_DB: 'jfstat'
POSTGRES_USER: postgres
POSTGRES_PASSWORD: $POSTGRES_PASSWORD
volumes:
- /docker/appdata/jellystat/postgres-data:/var/lib/postgresql/data
jellystat:
image: cyfershepard/jellystat:1.1.1
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: $POSTGRES_PASSWORD
POSTGRES_IP: jellystat-db
POSTGRES_PORT: 5432
JWT_SECRET: $JWT_SECRET
ports:
- "3000:3000"
volumes:
- /docker/appdata/jellystat/backup-data:/app/backend/backup-data
depends_on:
- jellystat-db
restart: unless-stopped