Jellyfin icon
Windows · macOS · Linux · Android · iOS · Free
Jellyfin 10.11.6
↓ Free Download

How to Set Up Jellyfin Media Server

Start with a media library on your own hardware, then stream it anywhere—that's the core of how to set up Jellyfin media server. This free, open-source media server runs on Windows, macOS, Linux, Android, and iOS, giving you full control over your content without subscription fees or corporate servers.

Getting Started: Download and Install

Windows Installation

Download Jellyfin from the official repository for Windows. The installer is straightforward: run the executable, choose your installation directory, and let it finish. The server launches automatically and opens a browser window to localhost:8096. From there, you'll configure the basics before adding any media.

If you prefer more control, learn about Windows-specific installation options and configuration to match your system setup.

Linux and Docker Alternatives

On Linux Ubuntu or other distributions, package managers make installation cleaner. Docker containers are another solid route if you want isolation and easy updates—just pull the official image and map your media folders into the container.

Building Your Media Library

Add Your Content

After installation, point it toward your media folders. Navigate to Settings → Libraries and create new library sections for Movies, TV Shows, Music, or Photos. The software scans folders recursively, organizing content automatically through metadata matching.

Performance matters here: keep media on fast storage (SSD preferred) if you're planning remote streaming or multiple concurrent users. Network-attached storage works, but latency adds up.

Configure Library Settings

Each library type has its own metadata provider settings. For TV shows, enable episode scanning so it recognizes season/episode naming conventions. Movie libraries benefit from poster art and synopsis pulls. These settings live in Settings → Libraries → [Your Library] → Settings.

Remote Access and Client Apps

Enable Remote Playback

For how to set up Jellyfin media server that actually reaches your devices outside your home network, enable remote access in Settings → Remote Access. The server needs to reach the Jellyfin Announce Server (a lightweight discovery service), then your clients connect through your public IP or dynamic DNS.

Test this before relying on it—port forwarding rules and firewall settings often block it initially.

Install Clients Across Devices

The web browser client works everywhere. Install dedicated apps on Android TV, iOS, Roku, or Android phones for native playback controls. These handle proper streaming and playback configuration across different device types.

Transcoding and Performance Tuning

Pro Tip: Enable hardware acceleration in Settings → Playback → Transcoding if your CPU supports it. On Intel machines, enable QuickSync; AMD users can enable VAAPI; NVIDIA owners get NVENC. This cuts CPU load dramatically when clients request lower bitrates or different formats.

How Jellyfin Compares

Unlike Plex (which syncs metadata to cloud servers), see a detailed comparison of Jellyfin features versus Plex to understand which suits your privacy expectations. Both stream content, but Jellyfin keeps everything local and open-source—no premium tier, no ads, no tracking.

Securing Your Server

Change the default admin password immediately. If enabling remote access, consider a reverse proxy (nginx or Caddy) with SSL certificates from Let's Encrypt. This adds security without exposing your server's raw IP.

Final Setup Steps

Once libraries populate and clients install, test playback on different devices. Check transcoding actually triggers when needed (watch CPU usage during playback). Remote access should work without manual URL entry—clients discover the server automatically on your home network.

How to set up Jellyfin media server ends here, but optimization never stops. Monitor playback logs, adjust transcode profiles for your weakest devices, and refine library metadata as needed.