Jellyfin Media Server Installation (Docker on Windows 10/11)
This guide walks you through installing Jellyfin Media Server in a Docker container on Windows 10/11 using Docker Desktop with the WSL2 backend. This approach keeps Jellyfin fully isolated from your main system while still giving it access to your Windows-based media folders.
By the end of this guide, you’ll be able to stream your movies, TV shows, and music to any device in your home — and optionally access them remotely. If you want to install Jellyfin in Docker on macOS, be sure to use this alternative guide.
What is Docker?
Docker lets you run applications in lightweight, self-contained environments called containers. Rather than installing Jellyfin directly on Windows, we run it inside a container that includes all required dependencies. This results in a cleaner setup, easier updates, simpler backups, and painless migrations.
What is Jellyfin?
Jellyfin is an open-source media server that organizes and streams your local media files to phones, TVs, tablets, and web browsers. It automatically fetches metadata, artwork, and episode info for a Netflix-like experience.
Requirements
-
Windows 10 or 11 (64-bit)
-
Admin access
-
At least 8 GB RAM recommended
-
Virtualization enabled in BIOS
-
Internet connection
Step 1 – Enable WSL2 on Windows
Open PowerShell as Administrator and run:
Reboot when prompted.
After reboot, confirm:
You should see Default Version: 2
Step 2 – Install Docker Desktop
-
Download Docker Desktop for Windows:
https://www.docker.com/products/docker-desktop/ -
Run the installer
-
Check “Use WSL2 instead of Hyper-V” when prompted
-
Finish install and reboot
Open Docker Desktop and wait until it says “Docker is running”
Step 3 – Create Your Media & Config Folders
Choose where you want your media stored. Example:
Create these folders in File Explorer.
Your structure should look like:
Step 4 – Create the Docker Compose File
Open PowerShell or Command Prompt, then:
Paste this:
Save and close.
Important:
Docker on Windows requires forward slashes in paths:D:/MediaNOTD:\Media
Step 5 – Start Jellyfin
From the same folder:
Verify:
You should see jellyfin running.
Step 6 – Initial Jellyfin Setup
Open a browser and go to:
or
Then:
-
Choose language → Next
-
Create admin user → Next
-
Add Media Libraries:
-
Movies →
/media/Movies -
TV Shows →
/media/TV -
Music →
/media/Music
-
-
Keep defaults → Next
-
Finish → Log in
Step 7 – Add Media
Copy files into:
Then in Jellyfin:
-
Menu → Refresh Metadata
Your content will appear.
Play Jellyfin on Devices
Install Jellyfin on:
-
Android TV / Apple TV / Roku
-
iPhone / Android
-
Web browser
Log in using:
Optional (But Strongly Recommended) Improvements
A) GPU Hardware Transcoding (Windows)
If your PC has:
-
Intel iGPU
-
NVIDIA GPU
-
AMD GPU
Docker Desktop can pass through the GPU to Jellyfin.
This dramatically improves performance when streaming remotely.
Important: GPU support on Windows is still evolving and depends on WSL2 + driver support. If you tell me:
-
Your GPU model
-
Windows version
…I’ll give you the exact working config. (This part is very hardware-specific.)
B) Remote Access (Do Not Just Port Forward 8096)
If you want to stream outside your house, the clean options are:
-
Tailscale (easiest, zero ports)
-
Cloudflare Tunnel
-
Reverse proxy with HTTPS
I strongly recommend Tailscale for Windows users. It takes 3 minutes and avoids exposing your PC to the internet.
If you want, I can write that section cleanly as well.
C) Backups
Back up:
That contains:
-
Users
-
Watch history
-
Libraries
-
Metadata
You can rebuild the container anytime if you have that folder.
D) Updating Jellyfin
From C:\jellyfin-docker: