Skip to content



GitHub Source GitHub Registry Docker Pulls Discord Upstream Website

Starting the container


docker run --rm \
    --name jellyfin \
    -p 8096:8096 \
    -e PUID=1000 \
    -e PGID=1000 \
    -e UMASK=002 \
    -e TZ="Etc/UTC" \
    -e ARGS="" \
    -e DEBUG="no" \
    -v /<host_folder_config>:/config \


version: "3.7"

    container_name: jellyfin
    image: hotio/jellyfin
      - "8096:8096"
      - PUID=1000
      - PGID=1000
      - UMASK=002
      - TZ=Etc/UTC
      - ARGS
      - DEBUG=no
      - /<host_folder_config>:/config

In most cases you'll need to add additional volumes, depending on your own personal preference, to get access to your files.


Tag Upstream Version Build
release (latest) Releases version build
nightly Every commit to master branch version build

You can also find tags that reference a commit or version number.

Configuration location

Your jellyfin configuration inside the container is stored in /config/app, to migrate from another container, you'd probably have to move your files from /config to /config/app. The following jellyfin path locations are used by default.


You can override these locations by setting them to a different value with a docker environment variable.

Hardware support

To make your hardware devices available inside the container use the following argument --device=/dev/dri:/dev/dri for Intel QuickSync and --device=/dev/dvb:/dev/dvb for a tuner. NVIDIA users should go visit the NVIDIA github page for instructions. For Raspberry Pi OpenMAX you'll need to use --device=/dev/vchiq:/dev/vchiq -v /opt/vc/lib:/opt/vc/lib, V4L2 will need --device=/dev/video10:/dev/video10 --device=/dev/video11:/dev/video11 --device=/dev/video12:/dev/video12 and MMAL needs --device=/dev/vcsm:/dev/vcsm or --device=/dev/vc-mem:/dev/vc-mem.

Executing your own scripts

If you have a need to do additional stuff when the container starts or stops, you can mount your script with the volume /docker/host/ to execute your script on container start or /docker/host/ to execute it when the container stops. An example script can be seen below.

#!/usr/bin/with-contenv bash

echo "Hello, this is me, your script."

Troubleshooting a problem

By default all output is redirected to /dev/null, so you won't see anything from the application when using docker logs. Most applications write everything to a log file too. If you do want to see this output with docker logs, you can set DEBUG to yes.