My Personal Netflix: Jellyfin Movies & TV
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/.