How to Set Up a Jellyfin Media Server
Install Jellyfin with Docker and stream your movies, TV and music to every device for free.
Jellyfin is a free, open-source media server with no subscriptions or telemetry. This tutorial gets it running with Docker.
Prerequisites
- A home server with Docker installed
- Your media organised into folders (e.g.
/mnt/media/movies,/mnt/media/tv)
Step 1: Create the Compose file
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
ports:
- "8096:8096"
volumes:
- ./config:/config
- ./cache:/cache
- /mnt/media:/media:ro
restart: unless-stopped
# For Intel/AMD hardware transcoding, expose the GPU:
# devices:
# - /dev/dri:/dev/driStep 2: Start Jellyfin
docker compose up -dStep 3: Run the setup wizard
Open http://your-server-ip:8096 and follow the wizard:
- Create an admin account.
- Add your media libraries, pointing them at
/media/movies,/media/tv, etc. - Let Jellyfin scan and fetch artwork and metadata.
Step 4: Install the apps
Jellyfin has apps for Android, iOS, Android TV, Fire TV, and more. Sign in with your server address and account.
Step 5: Enable hardware transcoding (optional)
If your CPU has an integrated GPU (Intel Quick Sync is excellent), uncomment the devices block above and enable hardware acceleration under Dashboard → Playback. This lets you transcode multiple streams at low power — for free, unlike Plex.
Step 6: Access it remotely and safely
Use a VPN like Tailscale to stream from outside your home without exposing Jellyfin to the internet.
Plex or Jellyfin?
Both are great. See our detailed Plex vs Jellyfin comparison to decide.
Enjoy your own private, ad-free streaming service.
Related articles
The Complete Home Server Beginner's Guide
Go from zero to a running home server: choose hardware, pick an operating system, deploy your first apps, and keep everything secure and backed up.
How to Install Docker on Ubuntu
A step-by-step tutorial to install Docker Engine and Docker Compose on Ubuntu Server, then run your first container.
How to Set Up Pi-hole for Network-Wide Ad Blocking
Install Pi-hole with Docker to block ads and trackers for every device on your home network.