HomeBlogSupport
Beginners Guide To Creating A Jellyfin Server

Beginners Guide To Creating A Jellyfin Server

If you are here, you are probably looking to create a Jellyfin server, which will give you the ability to stream content on your server to most devices you have. It can be a great way to host your physical media as a means of preservation; just to enjoy what you own wherever you are, without having to pull the movie or show out every time you want to watch. This tutorial is for beginners, starting from creating a server to getting Jellyfin started. Feel free to skip around. Linked products are affiliate links🌟

What You'll Need:

You will need a couple of things: a decent spare computer (⚠️You will need to wipe the data. Alternatively, you can purchase a mini-PC like the GMKtec NucBox G5) or a virtual machine, a stable internet connection (ethernet performs better at home, but wifi is fine if need be), a copy of a Linux Server OS (I love Ubuntu Server), and a flash drive (if doing at home and also will need to be wiped).

💡
If you are running a virtual machine that doesn't need your operating system installed, skip to Docker installation.

Installing Ubuntu Server

You will need to source the operating system you will be using. I recommend Ubuntu Server. Additionally, you will download balenaEtcher, which is a free multi-platform application that will allow us to "flash" the operating system on the flash drive.

You will choose "Flash from file" and navigate to your ISO of your operating system, and then click "Select target". Pick your flash drive (YOU WILL BE WIPING EVERYTHING ON IT) and click "Flash!". After it's finished, you are ready to install Ubuntu Server on your spare computer.

With your newly created USB drive, plug it into your spare computer. You may need to look up "boot device key" for your computer, if it doesn't automatically boot to the USB drive. If you did everything correctly, the screen should look like this:

Hit Enter on "Try or Install Ubuntu Server".
Then select your language and hit Enter.
On Keyboard Configuration, update any information and then hit Done.
On Choose the type of installation, leave the defaults and then hit Done.
On Network Configuration, leave the defaults unless you are using Wi-Fi (hover over wlan, hit Enter, Edit SSID/Wifi, enter your details) and then hit Done.
On Proxy Configuration, hit Done.
On Ubuntu archive mirror configuration, hit Done.
On Guide storage Configuration, leave the defaults and then hit Done.
On Storage configuration, scroll to ubuntu-lv, hit Enter, hover over Edit, and hit Enter. Tab to Size and erase what is in the input field and replace it with what is in the parentheses: i.e, 22.99G (with the G), then scroll to Save, hit Enter, then hit Done. Scroll to Continue and hit enter.
On Profile Configuration, enter your name, enter a name for your spare computer (your new server's name, aka hostname), enter a username, create a password, confirm it, and then hit Done.
On Upgrade to Ubuntu Pro, leave the defaults and then hit Done.
On SSH configuration, hit Enter inside of Install OpenSSH server, then hit Done.
If you get Featured server snaps here, skip it and hit Done.
After you see Reboot Now at the bottom of the screen, hover over it and hit Done.

You have now installed Ubuntu Server! ✨

Installing Docker

Docker is a containerization service that allows for running applications and other services in isolated processes called "containers". Docker allows you to manage applications in a modular fashion, making it easier to have multiple services on one server. Docker is free and easy to install. There are just a couple of commands to copy and paste into your terminal. If you are on another computer, you can use SSH to log into your server.

ssh username@hostname

It will then ask you for your password. Afterwards, you are ready to make commands to the terminal.

The first command from the Docker documentation adds the Docker repository to your server, allowing for the installation of Docker's packages.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

The second command from the Docker documentation installs the necessary packages for Docker to function.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

You have now successfully installed it; however, it is good practice to add yourself to the Docker group so you don't have to sudo every time you make changes to Docker. The instructions are laid out in the post-install, just a couple of commands. Typically, the Docker group is already added to the server, but if the command after this one doesn't work, you can run sudo groupadd docker.

sudo usermod -aG docker $USER

Then you can either log out and log back in or:

newgrp docker

Then try docker ps and you should see column names, indicating you have successfully installed Docker.

Installing Jellyfin

Jellyfin is a self-hosted media server that allows you to stream your media, much like Netflix. You don't need Docker to install Jellyfin, technically, but it becomes easier to manage if you are hosting other applications on your server. Installation becomes a couple of commands:

docker pull jellyfin/jellyfin:latest
sudo mkdir -p /srv/jellyfin/{config,cache}
docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media --net=host jellyfin/jellyfin:latest

Navigate to http://<servername>:8096 on your primary computer in your preferred browser. You should get a Welcome to Jellyfin screen.

Hit Next and create a username and password for the admin account, and hit Next. Then click Add Media Library > Click Content type and Movies > Click the + sign next to Folders > Click /media and Ok. Then hit Next. Update Language and Country, then click Next. Click "Allow remote connections to this server" and then Next and Finish.

That is it! You now have a working Jellyfin server to stream movies, TV shows, and more (Will update this to talk about sourcing content and using Tailscale to watch outside your home.) If you have any questions, feel free to email me or DM me on TikTok or Discord!

References:

Ubuntu Server ISO: https://ubuntu.com/download/server
Docker Install: https://docs.docker.com/engine/install/ubuntu/
Docker Post-Install: https://docs.docker.com/engine/install/linux-postinstall/
Jellyfin Docker: https://jellyfin.org/downloads/docker