STEP 1 – CREATE A NON-ROOT USER
$ adduser jellyfin
$ usermod -aG sudo jellyfin
STEP 2 – UPDATE YOUR SYSTEM
Close out of PuTTY and log back in as “jellyfin”
$ sudo apt update && sudo apt upgrade
Say YES to the install. If, during the installation process you’re asked about overwriting older config files, select N (default). Once the update is 100% finished:
$ sudo reboot
Close out of PuTTY, give the server a minute or two to reboot, then use PuTTY to log back in as user “jellyfin”.
STEP 3 – HOUSEKEEPING AND FIREWALL SETUP
$ sudo apt-get install -y gnupg2 gnupg gnupg1
$ sudo ufw enable
$ sudo ufw allow 22
$ sudo ufw allow 8096
$ sudo ufw allow 443
$ sudo ufw allow 80
STEP 4 – INSTALL JELLYFIN
Install Jellyfin from the jellyfin.org website (see video)
Cut and paste each command from the jellyfin website into PuTTY.
Test your install by visiting www.yourjellfin.domain:8096
STEP 5 – SECURE YOUR SERVER
$ sudo ufw deny 8096
INSTALL CADDY
$ echo "deb [trusted=yes]
https://apt.fury.io/caddy/ /" \
| sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy
$ sudo service caddy stop
$ cd /etc/caddy
$ sudo nano Caddyfile
DELETE the default contents of this file and replace with:
https://your.domain.here {
reverse_proxy 127.0.0.1:8096
}
**** syntax is very important in the caddyfile - check and recheck it.
CTRL-O to save the Caddyfile
CTRL-X to exit out of the text editor
$ sudo caddy start
Close PuTTY
Open a browser and access your server with www.yourjellfin.domain (no port).
Walk through the basic setup process without adding any libraries