Jellyfin video streaming server
59
Docker image for jellyfin video streaming server.
Container runs as non-root user. This user owns jellyfin process and owns jellyfin files.
To run container next volumes should be mapped:
sudo groupadd -g 1191 jellyfin
useradd -u 1191 -g 1191 -M jellyfin
sudo useradd -r jellyfin
sudo groupmod -g 1191 jellyfin
sudo usermod -u 1191 jellyfin
sudo chmod u+x ./build
sudo ./build jellyfin
cd ~
mkdir conf
sudo chown jellyfin:jellyfin ~/conf
sudo docker run \
--rm \
-v ~/conf:/export \
dshap/jellyfin:12.0 export-assets
sudo mkdir /jellyfin
sudo mkdir /jellyfin/config
sudo touch /jellyfin/config/fileNameExcludes
sudo touch /jellyfin/config/fileContentExcludes
sudo mkdir /jellyfin/data
sudo mkdir /jellyfin/media
sudo mkdir /jellyfin/media/movies
sudo mkdir /jellyfin/media/series
sudo mkdir /jellyfin/upload
sudo chown -R jellyfin:jellyfin /jellyfin
sudo mkdir /var/log/jellyfin
sudo chown -R jellyfin:jellyfin /var/log/jellyfin
sudo mkdir /var/backups/jellyfin
sudo chown -R jellyfin:jellyfin /var/backups/jellyfin
sudo cp ~/conf/etc/init.d/jellyfin /etc/init.d
sudo chmod a+x /etc/init.d/jellyfin
sudo cp ~/conf/usr/sbin/jellyfin /usr/sbin
sudo chmod a+x /usr/sbin/jellyfin
sudo cp ~/conf/usr/bin/jfutil /usr/bin
sudo chmod a+x /usr/bin/jfutil
sudo rm -rf ~/conf
sudo update-rc.d jellyfin defaults
sudo service jellyfin start
sudo service jellyfin restart
sudo service jellyfin (start|stop|status|restart)
sudo jfutil backup <filename>
Backup file /var/backups/jellyfin/<filename>.tar.gz will be created.
sudo jfutil restore <filename>
sudo jfutil bash
Jellyfin video streaming server can be located with another web applications. For example, mercurial, bugzilla, wiki etc can be run as docker containers on the same host. In this case apache server can be used to redirect requests to different docker containers.
sudo a2enmod deflate headers proxy proxy_ajp proxy_balancer proxy_connect proxy_html proxy_http rewrite
<VirtualHost *:80>
...
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
...
</VirtualHost>
sudo cp ~/conf/etc/apache2/sites-available/jellyfin.conf /etc/apache2/sites-available
sudo a2ensite jellyfin
sudo service apache2 restart
sudo jfutil show-tree
sudo jfutil check-files
sudo jfutil set-permit
# Check wrong file extensions
*.png
*.jfif
*.avi
*.mkv
# Check wrong symbols in file names
*–*
*—*
* *
*…*
*!*
*..*
*·*
*"*
*`*
*“*
# Check wrong symbols in file content
–
—
…
"
·
`
“
!?
!!
?!
??
sudo crontab -l | { cat; echo "minute hour * * * /usr/bin/jfutil backup <filename>"; echo ""; } | sudo crontab -
Content type
Image
Digest
sha256:8d2d5db01…
Size
607.4 MB
Last updated
8 days ago
docker pull dshap/jellyfin:12.0