Self-hosted media streaming with Jellyfin

By Noiz / 19th October 2026 | 5 min

Jellyfin is a free, open-source media server: you run it on a server you control, point it at your own films, series, music, books and photos, and stream them to your phone, television, computer or browser. It is licensed under the GNU General Public License version 2, has no premium tier and no paid features, and its project states that it has no tracking and no central servers collecting user data. This article explains what it does, what hardware it needs and how to reach it safely from outside your home or office.

What Jellyfin does

Jellyfin organises media into libraries, each drawing on one or more folders:

  • Films and series, with artwork, descriptions and series sorted by season
  • Music, with albums, artists and playlists
  • Books, audiobooks and comics
  • Photos
  • Live TV and recordings, with a TV tuner or an IPTV playlist

Each person gets their own account. An administrator decides which libraries each account can see, whether it may stream from outside the network, how much bandwidth a stream may use, and, for children, a maximum rating, blocked tags and the hours when playback is allowed. SyncPlay lets several people watch the same thing together from different places.

Jellyfin began in 2018 as a community fork of Emby, after Emby's newer versions became closed source. Its developers are unpaid volunteers, and donations cover only the project's infrastructure. Jellyfin supplies no content of its own: it plays the media you already have.

Apps for every screen

The server includes a web player that works in current versions of Firefox, Chrome, Safari and Edge. Official apps cover Android and iOS, Android TV and Fire TV, Roku, LG webOS, Samsung Tizen, Xbox, Kodi and the desktop, and a range of independent apps add dedicated music, book and comic readers. Jellyfin lists only clients that are themselves Free software.

Direct play and transcoding

The most important thing to understand about any media server is how it delivers a file, because that decides the hardware.

Playback What the server does Load on the server
Direct play Sends the file as it is Almost none
Remux Changes only the file's container Light
Direct stream Converts the audio, leaves the video Light
Transcode Re-encodes the video for the device or connection Heavy

The device tells the server which formats it can play. Jellyfin's own aim is to direct play everything. When a device cannot play a format, or a stream must be squeezed into a slow connection, or subtitles must be burned into the picture, the server transcodes.

What hardware it needs

For transcoding, Jellyfin's hardware guide is blunt: a server without a graphics processor (GPU) is not recommended, because re-encoding video on the processor alone is very demanding. It supports hardware acceleration on Intel, NVIDIA and AMD graphics, among others. Its suggested baseline is 8 GB of memory, an SSD for Jellyfin's own files and its transcoding cache, and, for streaming outside the network, at least 20 Mbps of upload capacity.

The media itself can sit on ordinary storage, as long as it reads faster than the video's bitrate.

In practice this gives two kinds of set-up:

  • A library that mostly direct plays, because your devices handle common formats, needs little processing power and a good connection.
  • A library that must transcode often, for many devices, older televisions or slow connections, needs a GPU.

Reaching it safely from outside

Jellyfin's documentation says the server is not designed to be exposed directly to the internet, and it advises against forwarding a port straight to it. The safe routes are:

  1. A reverse proxy with HTTPS in front of Jellyfin, such as Caddy or nginx, with a certificate from Let's Encrypt. Add the proxy's address to Jellyfin's known proxies so that remote-access limits work, and keep request logs from recording full addresses, which can contain an access key.
  2. A VPN, so only your own devices can reach the server at all.
  3. Protection against password guessing, such as fail2ban, alongside Jellyfin's own lockout after repeated failed logins.

Back up Jellyfin's data folder before every major upgrade. The 12.0 release changed the database, and its release notes warn that rolling back needs a full restore.

Your media, your responsibility

Jellyfin is built for your own collection, and its community rules ban discussion of piracy. In South Africa, copyright is governed by the Copyright Act 98 of 1978. Stream only media you have the right to use.

Jellyfin on the Noiz network

A Noiz Cloud server suits a Jellyfin library that plays directly on your devices: a self-managed Ubuntu or Debian server with full root access and a dedicated IPv4 address, which you install following Jellyfin's own Debian and Ubuntu guide or its Docker image. Put it behind a reverse proxy with HTTPS from the start.

Cloud servers are not offered with a graphics processor, so they suit libraries that play directly rather than ones that transcode heavily. If you have questions about what suits your library, get in touch.

Sources

Checked 19 October 2026.

Jellyfin

The law

Noiz

Note: while some of this content was produced with the help of AI, the final editing has been done by a real human being.