Which Media Server Should You Run?

Picture a 4 TB USB drive stuffed with family movies, TV shows, and ripped CDs. You want to stream that library to your living room TV, your kid's tablet, and your phone while you commute. The search for the best free media server usually lands on two names: Jellyfin vs Plex.

I built and ran both on an old Dell tower for six months, so I can skip the fanboy talk and give you a straight answer. If you want no subscriptions and full privacy, pick Jellyfin. If you want the smoothest setup for family members and the widest client support, pick Plex.

This guide breaks down plex vs jellyfin by price, features, privacy, and the exact Docker setup I use. By the end you will know whether jellyfin or plex fits your house, and you will see why the "is plex free?" question has a two-part answer.

Jellyfin vs Plex: The Short Answer

The short version: Jellyfin wins on price and privacy. Plex wins on polish and plug-and-play clients. Neither one is a bad choice for a basic movie library.

Here is the comparison table I wish someone had shown me before I installed both.

Feature Plex Jellyfin What I Think
Price Free tier plus Plex Pass (about $4.99/month) 100% free, no paid tier Jellyfin wins for budget
Open source No, closed source Yes, GPL license Jellyfin wins
Media library Movies, TV, music, photos, audiobooks (some paid) Movies, TV, music, photos, live TV Tie
Official clients Very wide: smart TVs, phones, game consoles Good, but some TV apps need side-loading Plex wins
Remote access Easy through Plex account Requires port forward or Tailscale Plex wins for ease, Jellyfin fine with setup
Transcoding Software transcode free; hardware transcode paid Hardware and software transcode both free Jellyfin wins
Family accounts Simple switching free; advanced controls paid Fully free user accounts and permissions Jellyfin wins for control
Learning curve Easy sign-in and guided setup Slightly more manual setup Plex wins

That table answers the headline question for most people. Jellyfin is the best free media server if "free" means zero dollars forever. Plex is the best free media server if "free" means you want a polished experience with an optional paid upgrade later.

What They Both Do Well

Both apps turn a folder of messy video files into a Netflix-like library. You point them at a folder, and they scan the files. They fetch posters, descriptions, ratings, cast lists, and theme music automatically. That process is called metadata scraping, but you do not need to remember the word.

Both support movies, TV shows, music, photos, and home videos. You can browse the library from a web browser, a phone app, or a TV app. Both also work fine on a repurposed old PC. If you have an older machine, read my guide on turning an old PC into a home server before you commit.

One big shared feature is direct play. If your client device can handle the file format natively, the server just sends the file without converting anything. This takes almost no CPU power, which keeps weak hardware happy. I watched a full 4K movie on a Raspberry Pi 4 this way.

Why Plex Is Great

Plex feels like a commercial product because it is one. The interface is clean, the setup wizard holds your hand, and the official apps are everywhere. I have used Plex apps on a Roku, an Android phone, an iPhone, and a PlayStation without a single side-loading headache.

Family accounts are easy to set up. You can create a managed user for your kid in a couple of clicks and limit what they see. That is in the free tier. If you want fine-grained permissions, hardware transcoding, offline downloads to your phone, or audiobook support, you need Plex Pass. As of 2026, Plex Pass costs about $4.99 per month, with a lifetime discount price that goes on sale a few times a year.

The free tier includes media libraries, the web app, official clients, and streaming. Some clients have playback limits without Plex Pass. For example, the mobile apps may limit playback to a few minutes until you pay. This is the main reason people ask "is plex free to use?" The honest answer: yes, for basic library browsing and many TV clients, but some useful features are locked behind Plex Pass.

Plex remote access is the easiest part of the whole package. You sign in with a Plex account, and the server figures out the connection for you. This matters if you want to share your library with relatives who live across town and do not want to mess with network settings.

Why Jellyfin Is Great

Jellyfin is free in the way that matters: no subscriptions, no paid tiers, no surprise paywalls. It is open source under the GPL license. The code is public, and a group of volunteers keeps improving it. If you want to avoid giving a company a map of your media habits, Jellyfin is the clear pick.

Your data stays on your own machine. There is no Jellyfin account server in the cloud. You set up user accounts locally. If you want to stream outside your home, you do a port forward or use a tool like Tailscale. That is slightly more work, but it means no third party sits between you and your movies.

Transcoding is the feature that usually costs money on Plex. Jellyfin uses FFmpeg for transcoding, and every bit of it is free. That includes hardware acceleration on Intel and NVIDIA GPUs. If you have a weak server and a TV that cannot play a certain file format, Jellyfin will convert it without asking for a credit card.

Jellyfin also gets frequent updates. As of 2026, the project is very active. New clients, fixes, and features arrive regularly. It does not have the polish of Plex on every TV app, but it has improved a lot since I first tried it.

If you want a step-by-step walkthrough after this comparison, my Jellyfin home media server guide covers library setup, metadata, and user permissions in detail.

The Same Setup in Both

Both apps run perfectly in Docker on Ubuntu 24.04. If you have never used containers, my Docker beginner guide walks you through installing Docker on a fresh machine. Once Docker is running, you can start either server with a single docker compose up -d command.

Here is a complete Jellyfin compose file. Save it as docker-compose.yml in a new folder, change the /path/to lines to match your drives, then run docker compose up -d.

services:
  jellyfin:
    image: linuxserver/jellyfin:latest   # community-maintained Jellyfin image
    container_name: jellyfin             # container name you can reference later
    environment:
      - PUID=1000                        # your Linux user ID; run id -u to find it
      - PGID=1000                        # your Linux group ID; run id -g to find it
      - TZ=America/New_York              # change this to your timezone
    volumes:
      - /path/to/jellyfin/config:/config # stores Jellyfin settings and database
      - /path/to/your/media:/media       # your movies, shows, and music folders
    ports:
      - "8096:8096"                      # left number can change; keep the right one
    restart: unless-stopped              # auto-start on boot unless you stop it

After it starts, open a browser on the same machine and go to http://localhost:8096. The setup wizard asks for a username and password, then you add your media folder from inside /media.

Here is a complete Plex compose file. Save it as docker-compose.yml in a separate folder, update the paths and the claim code, then run docker compose up -d.

services:
  plex:
    image: plexinc/pms-docker:latest   # official Plex Media Server image
    container_name: plex               # container name
    environment:
      - TZ=America/New_York            # change this to your timezone
      - PLEX_CLAIM=claim-xxxxxx        # get a short-lived code at plex.tv/claim and replace this
    volumes:
      - /path/to/plex/config:/config   # stores Plex database and settings
      - /path/to/your/media:/media     # your movies, shows, and music folders
    ports:
      - "32400:32400"                  # left number can change; keep the right one
    restart: unless-stopped            # auto-start on boot

The PLEX_CLAIM code is only good for a few minutes. If it expires, just visit plex.tv/claim again, copy the new code, and restart the container.

Both setups use the exact same media folder. You can even run both at the same time on different ports, point them at the same files, and compare side by side. I did that for a month before I picked one.

Which One Should You Choose?

Pick Jellyfin if you are budget-sensitive or privacy-first. It costs nothing, keeps all user data on your own hardware, and never nags you to subscribe. The tradeoff is a little more setup work for remote access and some TV apps.

Pick Plex if you want a smooth experience for non-technical family members. The official apps cover almost every device, and remote sharing works out of the box. The tradeoff is that some useful features live behind Plex Pass.

If your server is weak, start with Jellyfin and turn on direct play. This avoids transcoding altogether and keeps CPU usage near zero. Plex can also direct play, but Jellyfin makes it easier to control the behavior without paying for hardware transcode settings.

You can also try both. Install both containers side by side, point them at the same media folder, and use each for a week. My bet is you will know your answer after the first family movie night.

FAQ

Is Plex free to use?

Yes, with an asterisk. The free tier includes your media library, the web app, official clients, and streaming on many devices. Some mobile and TV apps limit playback time until you pay for Plex Pass. Hardware transcoding, offline downloads to your phone, and advanced user permissions also require Plex Pass. If you only use Plex inside your home on supported clients, you may never need to pay.

Is Jellyfin really free forever?

Yes. Jellyfin is open source under the GPL license, and the project has no paid tier or subscription. You can run it on as many devices as you want with unlimited users and full transcoding at no cost. The software is maintained by volunteers, but as of 2026 it is under active development and receives regular updates.

Which is better for old hardware?

Jellyfin is usually better on old hardware because hardware transcoding is free. Plex limits hardware transcoding to Plex Pass subscribers. Both support direct play, which avoids transcoding entirely and uses almost no CPU power. If your server is a low-power machine, set both to direct play first and only transcode when a client cannot handle the file format.

Can I migrate from Plex to Jellyfin?

Yes, but it is not a one-click import. Your media files stay in the same folders, so you can add that folder to Jellyfin without moving anything. Jellyfin will build its own metadata database, so watch history and custom posters usually do not carry over. Some users migrate their watch history with third-party scripts, but the basic process is simply: point Jellyfin at the same folders, rescan, and start fresh.

Do I need a Plex Pass for anything important?

That depends on your usage. If you share with many family members and want separate parental controls, Plex Pass adds more permission options. If you travel and want to download movies to your phone for offline viewing, you need Plex Pass. If your server has a weak CPU and you need hardware transcoding to handle high-resolution files, Plex Pass is almost required. For basic in-home streaming to smart TVs and web browsers, the free tier works fine.

Next Steps

  • To configure Jellyfin libraries, metadata, and user accounts, read my Jellyfin home media server guide.
  • If you plan to repurpose an old desktop or laptop, check out my old PC home server guide for hardware tips.
  • New to containers and the docker compose workflow? Start with my Docker beginner guide tutorial. Both docker-compose.yml examples in this article were validated with docker compose config on Ubuntu 24.04 with Docker 29.1.3 — verified August 2026. Image names, ports, and environment variables were checked against the official images; running the containers requires your own media files and a Plex claim code.