version: "3.8"

networks:
  1panel-network:
    external: true

services:
  jellyfin:
    image: jellyfin/jellyfin:10.9.9
    container_name: ${CONTAINER_NAME}
    labels:
      createdBy: "Apps"
    restart: always
    network_mode: ${NETWORK_MODE}
    user: 0:0
    ports:
      - ${PANEL_APP_PORT_HTTP}:8096
    volumes:
      - ${JELLYFIN_ROOT_PATH}/config:/config
      - ${JELLYFIN_ROOT_PATH}/cache:/cache
      - ${JELLYFIN_ROOT_PATH}/media:/media
      - ${JELLYFIN_ROOT_PATH}/config/font:/config/font
      - ${JELLYFIN_ROOT_PATH}/config/dejavu:/usr/share/fonts/truetype/dejavu
      - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1}
      - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2}
      - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3}
    devices:
      - /dev/dri:/dev/dri
      - /dev/kfd:/dev/kfd
    environment:
      - ROC_ENABLE_PRE_VEGA=1
      - HTTP_PROXY=${HTTP_PROXY:-}
      - HTTPS_PROXY=${HTTP_PROXY:-}
      - NO_PROXY=localhost,127.0.0.1,::1