As usual, I've come to appreciate the Docker route a little more. The instruction list for Docker installation is detailed in the official Jellyfin installation page, and reproduced here:
docker pull jellyfin/jellyfin mkdir -p /srv/jellyfin/config mkdir -p /srv/jellyfin/cache docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media --net=host jellyfin/jellyfin:latest
A quick refresher on the Docker command:
-d
runs the docker command in the background (detached mode)-v
creates a bind mount, i.e. /srv/jellyfin/config
on the host machine is mounted in the Jellyfin container at /config
/media
bind mount is required to expose media files on the host system. Ensure that read access is available for the docker user./etc/fstab
file.--net=host
uses the host network for the container, i.e. the Jellyfin container exposes port 8096 for HTTP traffic on the host machine directly.Quick refresher for FSTAB mount
To mount an external webdav folder, add to /etc/fstab
, in this case for QNAP:
//[LOCAL_IP]/homes/[USER_FOLDER] /media/[HOST_FOLDER] cifs credentials=/home/[USER]/.credentials,uid=33,gid=33,iocharset=utf8,sec=ntlmssp,vers=3.0 0 0
Noting that the credentials need to be stored at /home/[USER]/.credentials
in the format:
username=[USERNAME] password=[PASSWORD]
Create the specified folder /media/[HOST_FOLDER]
using mkdir, then reload the fstab file with sudo mount -a
.
Next is the configuration itself, by accessing the web GUI at http://LOCAL_IP:8096
.
Cannot access the web GUI?
sudo ufw allow 8096/tcp
and sudo ufw reload
will pretty much do the trick.docker ps
netstat -pnltu | grep -i "8096"
wget 127.0.0.1:8096