Jellyfin Install Guide

The Article

Resources:

https://jellyfin.org/docs/general/administration/installing.html#debian

https://www.linode.com/docs/guides/how-to-install-jellyfin/

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 https://tlm.li/linode 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/jellyfin.switchedtolinux.com.conf

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

Save the file and enable the site:

a2ensite jellyfin.switchedtolinux.com.conf

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:

certbot

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@170.187.156.126:/home/movies

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@170.187.156.126:/home/music

 

Video

Notes and References

Affilates

Support Switched to Linux with our affiliates:

Amazon

Web Hosting:
A2Hosting
siteground

VPNs:
Get a VPN to stay private online.
NordVPN
Private Internet Access

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

Search Website


Sponsored

Recent Articles