Tutorial

Self-Host Jellyfin: Your Own Media Server Without Subscriptions

Back to Blog
A modern alternative to cPanel, Plesk and CyberPanel — isolated, secure, AI-assisted.
Start free

Jellyfin is a free, open-source media server — your own private streaming service for the movies, TV shows, music, and photos you already own. It plays to a browser, phone, tablet, smart TV, and streaming stick, with no subscription, no per-device fee, and no company deciding to remove your content or your features. This guide explains what Jellyfin is, how it compares to the alternatives, and how to run it as a one-click Docker container on your own server.

What Jellyfin actually is

Point Jellyfin at a folder of media files and it does the rest: it identifies your movies and shows, downloads artwork and descriptions, organizes everything into a polished library, and streams it to any device with a Jellyfin app or a web browser. It is the self-hosted answer to "I have a hard drive full of media and I want to watch it like Netflix, from anywhere."

The comparison people ask for:

JellyfinThe commercial alternatives
CostFree, fully open sourceFree tier plus paid features / subscriptions
Feature gatingEverything includedHardware transcoding, mobile, and more often behind a paywall
Your dataStays on your serverAccount and metadata tied to a company
Lock-inNone — it is your serverDepends on a vendor's continued goodwill

Deploying Jellyfin on Panelica

  1. Deploy the Jellyfin template from the Docker app catalog. It is a single container — no separate database to wire up.
  2. Set your timezone if you want correct "added on" dates; the default is provided and can be overridden.
  3. Note the three volumes. Jellyfin mounts a config volume (its settings and library metadata), a cache volume (transcoding and thumbnails), and a media volume (your actual files). The separation matters: your library configuration survives even if you clear the cache.
  4. Give it around 512 MB of RAM to start. That is the template minimum and enough for direct play. Transcoding — converting video on the fly for a device that cannot play the original — is CPU-hungry, so raise limits if you will transcode.
  5. Open the web UI on the published port and complete the first-run wizard: create your admin account, then add your media folders as libraries.

Getting your media in

Your files go into the media volume. The cleanest results come from tidy naming — Movies/The Film (2021)/The Film (2021).mkv and Shows/Series Name/Season 01/Series Name S01E01.mkv — because that is how Jellyfin matches files to the correct metadata. Once files are in place, trigger a library scan and watch the artwork populate.

Watching from anywhere, safely

Streaming to the local network works out of the box. To watch away from home, put Jellyfin behind a real domain instead of exposing a raw port:

  • Link a subdomain like media.example.com through Panelica's reverse proxy, which gives you HTTPS automatically.
  • Set Jellyfin's published server URL to that domain so its apps connect correctly from outside.
  • Use strong passwords, and consider restricting access to known networks if the server is only for your household.

A note on transcoding

The single biggest performance question with any media server is transcoding. If every viewing device can play your files natively (direct play), Jellyfin barely uses CPU. If a device cannot — wrong codec, limited bandwidth — Jellyfin re-encodes on the fly, which is expensive on CPU. Two takeaways: keep your library in widely compatible formats to minimize transcoding, and if you transcode often, give the container generous CPU limits. Hardware-accelerated transcoding is possible but needs extra device access configured for the container.

Frequently asked questions

Do I need a powerful server?

For direct play to a few devices, no — a modest VPS or home box handles it. Demand scales with concurrent streams and, above all, with transcoding. Plan capacity around the worst case: several people watching incompatible files at once.

Where is my library data stored?

In the config volume on your server. Back it up along with a record of your setup — volume-aware backups preserve your library organization, so a rebuild does not mean re-tagging everything.

Can my family have separate accounts?

Yes. Jellyfin supports multiple users with individual watch states, favorites, and parental controls — each person gets their own view of the shared library.

Will it play my music and photos too?

Yes. Jellyfin handles music libraries and photo collections alongside video, all from the same server and apps.

The takeaway

Jellyfin turns a folder of media into a private, subscription-free streaming service you fully control, playable on nearly any device. On Panelica it is a one-click container: mind the three volumes, give it enough CPU if you transcode, and put it behind a proper domain with HTTPS for watching away from home. Your media, your server, no monthly bill.

Security-first hosting panel

Hosting management, the modern way.

Panelica is a modern, security-first hosting panel — isolated services, built-in Docker and AI-assisted management, with one-click migration from any panel.

Zero-downtime migration Fully isolated services Cancel anytime
Share:
Built for 2026, not 2002.