# Copy to .env and adjust. .env is git-ignored; this file is not. # Nothing here is secret, but keep it that way. # ─── Identity ─────────────────────────────────────────────────────── # These three are the same for every service on the machine, so compose.yaml # already defaults them to 1000/1000/Etc/UTC. Three places can set them, in # increasing priority: # # 1. the defaults in compose.yaml (a fresh clone just works) # 2. this file (per-service) # 3. exported in your shell (global, wins over this file) # # If you keep a global `export PUID=...` in ~/.profile, leave these commented. # # The host user that should own everything Jellyfin writes: `id -u` / `id -g`. # This is the setting that bites hardest when it's wrong: the container starts # fine and then can't write its database, or writes it as root and you can no # longer touch the files from the host. #PUID=1000 #PGID=1000 # Affects timestamps in logs and scheduled-task times. #TZ=Europe/Paris # ─── Paths ────────────────────────────────────────────────────────── # Jellyfin's own state: database, metadata, artwork, subtitles, logs. # Small enough to live next to the compose file — see the README. The # repo's .gitignore keeps it out of git either way. Defaults to ./config. #CONFIG_PATH=./config # Your main media library. REQUIRED — compose refuses to start without it, # rather than silently mounting nothing. MEDIA_PATH=/srv/media # Extra libraries on other disks. Uncomment the matching lines in # compose.yaml too, otherwise these do nothing. #MEDIA_PATH_2=/mnt/disk2/tv #MEDIA_PATH_3=/mnt/scratch/downloads # ─── Ports ────────────────────────────────────────────────────────── # Defaulted in compose.yaml; set here only to move them. #PORT=8096 #DISCOVERY_PORT=7359 # ─── Hardware transcoding ─────────────────────────────────────────── # GID of the host group that owns /dev/dri/renderD128. Host-specific: # # getent group render | cut -d: -f3 # # It varies wildly between distros and installs (105, 992, 993, 989 are # all real answers I've seen). Do not copy the number below — look it up. # REQUIRED while the hardware-transcoding block is present in compose.yaml; # delete that block and this line together if you transcode on the CPU. RENDER_GID=105