So, Jellyfin is one of those apps where the Docker documentation is really lacking. I’m gonna give you my docker-compose.yml
file in case it helps:
services:
jellyfin:
image: jellyfin/jellyfin
user: 0:0
restart: 'unless-stopped'
ports:
- '8096:8096'
environment:
#- JELLYFIN_CACHE_DIR=/var/cache/jellyfin
#- JELLYFIN_CONFIG_DIR=/etc/jellyfin
- JELLYFIN_DATA_DIR=/var/lib/jellyfin
- JELLYFIN_LOG_DIR=/var/log/jellyfin
volumes:
- ./config:/config
- ./cache:/cache
- ./data:/var/lib/jellyfin
- ./log:/var/log/jellyfin
- /data/jellyfin:/data/jellyfin
devices:
- /dev/dri
For me /data/
is my RAID array, which is why my jellyfin data directory is there. Everything else goes in the same directory as the compose file. My system has a graphics card that does transcoding (Arc A380), so I have /dev/dri
under devices.
You should learn a lot about Docker Compose, because it will help you tremendously. I use Jellyfin behind an Nginx Proxy Manager reverse proxy. I’d highly recommend it. Here’s my compose file for that:
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
network_mode: "host"
#ports:
# - '80:80'
# - '81:81'
# - '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Running in “host” mode is important, instead of just forwarding ports, because it lets you forward things to localhost, like pointing https://media/.[mydomain]/
to http://127.0.0.1:8096/
for Jellyfin.
Anyway, best of luck to you, and I hope that helps!
Yes, it is causing us to consistently roll natural one (critical failure).