Writing

My Personal Netflix: Jellyfin Movies & TV

Saturday. Mar 14, 2026

Hosting Jellyfin

In part 1 I get the laptop running as a basic server. In part 2 I set up /srv/media/, permissions, SSH keys, and some power tweaks.

This post is where I host my first service: Jellyfin. I plan on accessing it using only the local IP address (no domain name, no reverse proxy).

Media folder layout

My media lives under /srv/media/. My layout is simple:

/srv/media/
  movies/
  tv/
  music/

I like keeping it under /srv/ because it stays consistent for services and organized.

Install Jellyfin via apt

I installed Jellyfin through apt. I added Jellyfin’s repository key and then added the Jellyfin repo. After Jellyfin installs, I enabled it to start on boot.

sudo apt update
sudo apt install -y apt-transport-https ca-certificates gnupg curl

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key \
  | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg

echo "deb [signed-by=/etc/apt/keyrings/jellyfin.gpg] https://repo.jellyfin.org/debian $(lsb_release -cs) main" \
  | sudo tee /etc/apt/sources.list.d/jellyfin.list

sudo apt update
sudo apt install -y jellyfin
sudo systemctl enable --now jellyfin

First-run setup

I access Jellyfin using the server’s local IP and port 8096. The page loads and I get the Jellyfin UI, which prompts me to create an admin account. Once that’s done, I add libraries and point them at subfolders under /srv/media/.