version: '3.9' services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin hostname: jellyfin devices: - /dev/dri:/dev/dri group_add: - "937" ports: - 8096:8096 - 8920:8920 - 7359:7359/udp - 1900:1900/udp volumes: - /volume1/docker/jellyfin/cache:/cache - /volume1/docker/jellyfin/config:/config - /volume1/media:/media environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - HEALTHCHECK_URL=http://localhost:8096/health - DEBIAN_FRONTEND=noninteractive - LC_ALL=en_US.UTF-8 - LANG=en_US.UTF-8 - LANGUAGE=en_US:en - LD_PRELOAD=/usr/lib/jellyfin/libjemalloc.so.2 - JELLYFIN_CACHE_DIR=/cache - JELLYFIN_CONFIG_DIR=/config/config - JELLYFIN_DATA_DIR=/config - JELLYFIN_FFMPEG=/usr/lib/jellyfin-ffmpeg/ffmpeg - JELLYFIN_LOG_DIR=/config/log - JELLYFIN_PublishedServerUrl=http://192.168.0.11 - JELLYFIN_TRANSLITERATOR_ID="" - JELLYFIN_WEB_DIR=/jellyfin/jellyfin-web - MALLOC_TRIM_THRESHOLD_=131072 - TZ=Asia/Atyrau - XDG_CACHE_HOME=/cache restart: unless-stopped extra_hosts: - "HOST_IP:192.168.0.11" network_mode: bridge healthcheck: test: ["CMD-SHELL", "curl --noproxy 'localhost' -Lk -fsS \"$${HEALTHCHECK_URL}\" || exit 1"] interval: 180s timeout: 30s retries: 2 start_period: 10s deploy: resources: limits: memory: 6g reservations: memory: 6g