Jellyfin Install Guide

The Article


Setup subdomain

We are using cPanel here to setup the subdomain. If you are using a different web control manager, the process will be similar. We just need to setup a subdomain and point the A record to it. Note that we need to get the IP address in the next step.

Create Server

Create the server on Linode. Use my affiliate link to get $100 in credit good for 60 days. In my case, I am using Debian. You can use several different distros, but in this case, I will do Debian because it is very stable and will not roll versions to quickly making it a better server build.

Once the linode is setup, you will get the IP address which will need added to the A Record in your sub domain.

Install Software

Since we are logged in as the root user on the server setup, we do not need to mess with sudo. We will first check for upgrades and install them:
apt update

apt upgrade
Then we will enable the repos that are provided in Debian:

apt install extrepo

extrepo enable jellyfin

Install Jellyfin

apt update

apt install jellyfin

Configure basic server

Before I move on, I will create some folders to put media in. This is simply running the mkdir command where I want the folders. In this case I am navigating to the /home directory and adding folders:

mkdir movies

mkdir music

mkdir abooks

Setup proxy

Setup the reverse proxy. First create a web server:

apt install apache2

And the Proxy:

a2enmod proxy_http

Create the site. First, create the new server file:
sudo nano /etc/apache2/sites-available/

Mine is so replace each instance of that with your exact server URL name:
<VirtualHost *:80>
ErrorLog /var/log/apache2/jellyfin-error.log
CustomLog /var/log/apache2/jellyfin-access.log combined
ProxyPreserveHost On
ProxyPass "/embywebsocket" "ws://"
ProxyPassReverse "/embywebsocket" "ws://"
ProxyPass "/" ""
ProxyPassReverse "/" ""

Save the file and enable the site:


systemctl restart apache2

Setup SSL

Now we want to install the SSL. You can follow the instructions which installs Snap. I only use Snap as an absolute last resort, so I will install everything without snap directly from the Debian repository which still works as of the time of this writing. You need two packages:

apt install cert-bot

apt install python3-certbot-apache

Use the command:


Should detect the plugin and websites and give a list of sites to install the SSL for.

Restart the apache server:

service apache2 restart

You should have an SSL installed on your server now.

Upload media

Now you need to move files to the server. I am using SCP as an easy command line utility. It works by moving files between the server and the local machine by specifying the location including the server creds and the location of the file.

For a single file, I am moving 1984 (1956).mp4 from the local directory to the server in the movies folder:

scp 1984\ \(1956\).mp4 root@

Note that the \ \ in the command are because I have spaces in the file name.

To add a whole folder, use the -r tag (for recursive):

scp -r Rush/ root@



Notes and References


Support Switched to Linux with our affiliates:


Web Hosting:

Get a VPN to stay private online.
Private Internet Access

Looking at Podcasting? These links will help with either hosting the podcasts or viewing stats.
Blubrry Podcast Hosting
Blubrry Podcasting Stats

Search Website


Recent Articles