stacks/jellyfin/compose.yaml
2025-07-01 17:30:05 +08:00

103 lines
2.4 KiB
YAML

name: jellyfin
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
volumes:
- jellyfin_cache:/var/cache/jellyfin
- jellyfin_config:/etc/jellyfin
- jellyfin_data:/var/lib/jellyfin
- jellyfin_logs:/var/log/jellyfin
- /media:/media
environment:
- JELLYFIN_PublishedServerUrl=https://jellyfin.fern.garden
- JELLYFIN_CACHE_DIR=/var/cache/jellyfin
- JELLYFIN_CONFIG_DIR=/etc/jellyfin
- JELLYFIN_DATA_DIR=/var/lib/jellyfin
- JELLYFIN_LOG_DIR=/var/log/jellyfin
- TZ=Australia/Perth
ports:
- '8096:8096'
networks:
- default
- proxy
- media
restart: unless-stopped
labels:
caddy: jellyfin.fern.garden
caddy.@blacklist.not.path: "/metrics"
caddy.reverse_proxy: "@blacklist {{upstreams 8096}}"
user: 1000:1800
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
group_add:
- 992
jellystat:
image: cyfershepard/jellystat:latest
container_name: jellystat
depends_on:
- jellystat_db
volumes:
- jellystat_data:/app/backend/backup-data
environment:
POSTGRES_USER: jellystat
POSTGRES_PASSWORD: ${JELLYSTAT_POSTGRES_PASSWORD}
POSTGRES_IP: jellystat_db
POSTGRES_PORT: 5432
JWT_SECRET: ${JELLYSTAT_JWT_SECRET}
JS_USER: fern
JS_PASSWORD: ${JELLYSTAT_PASSWORD}
TZ: Australia/Perth
networks:
- default
- proxy
restart: unless-stopped
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "10m"
labels:
caddy: jellystat.ferngarden.net
caddy.import: internal
caddy.reverse_proxy: '{{upstreams 3000}}'
jellystat_db:
image: postgres:15.2
container_name: jellystat_db
volumes:
- jellystat_db:/var/lib/postgresql/data
environment:
POSTGRES_USER: jellystat
POSTGRES_PASSWORD: ${JELLYSTAT_POSTGRES_PASSWORD}
networks:
- default
restart: unless-stopped
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "10m"
shm_size: '1gb'
networks:
default:
media:
external: true
proxy:
external: true
volumes:
jellyfin_config:
name: jellyfin_config
jellyfin_cache:
name: jellyfin_cache
jellyfin_data:
name: jellyfin_data
jellyfin_logs:
name: jellyfin_logs
jellystat_db:
name: jellystat_db
jellystat_data:
name: jellystat_data