Cheers Plex, hello Jellyfin
Here’s my story about migrating my media from Plex to Jellyfin.
A few weeks ago Plex published a blog post which announced two big changes – a big price increase for their Plex Pass and remote streaming will become a paid feature. While many users were happy support the future of Plex by paying for these features, many users (me included) decided that now is the time to look for an alternative platform.
Jellyfin enters the chat.
My first experience of Jellyfin was a few years ago and it wasn’t massively positive. There was tons of potential but the overall feel was that of a project in active development and not something that I would be comfortable using for my family and friends who are not massively tech savvy. Fortunately many things have changed in the last few years and my experience with Jellyfin in 2025 is much more positive.
To get started, I followed the official Jellyfin docker deployment guide which is available here. To save you a click, this is what you’re going to run on your media server once you have Docker installed. Please make sure you update the uid, gid and the path to your media library.
docker run -d \
--name jellyfin \
--user uid:gid \
--net=host \
--volume jellyfin-config:/config
--volume jellyfin-cache:/cache
--volume /path/to/media:/media \
--restart=unless-stopped \
jellyfin/jellyfin
From here, head on over to http://<ip of your media server>:8096 in a web browser and follow the onboarding flow to setup your user account and media libraries.
Once Jellyfin had indexed all of my media, I noticed that not everything was identified correctly which was attributed to The Movie Database (TMDb) being the primary metadata provider for movies and TV series in Jellyfin. Fortunately this was easy to resolve my heading over to the admin dashboard -> the plugin catalogue to install TheTVDB metadata provider and then setting that as the default for TV series.
But what about analytics?
For those who love the detailed analytics from Plex apps like Tautulli and even the Plex premium analytics, the Jellyfin analytics plugins can be a bit disappointing. No need to fear though, Jellystat is getting better each week! Jellystat gives you very detailed analytics for all activity on your Jellyfin server and it is also easy to deploy using docker-compose.

To get started with Jellystat, you can follow the deployment guide on their github or to save you a click, here’s the docker compose file.
version: '3'
services:
jellystat-db:
image: 'postgres:15.2'
shm_size: 1gb
container_name: jellystat-db
restart: unless-stopped
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: mypassword
volumes:
- 'postgres-data:/var/lib/postgresql/data'
jellystat:
image: 'cyfershepard/jellystat:latest'
container_name: jellystat
restart: unless-stopped
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: mypassword
POSTGRES_IP: jellystat-db
POSTGRES_PORT: 5432
JWT_SECRET: my-secret-jwt-key
TZ: mytimezone
volumes:
- 'jellystat-backup-data:/app/backend/backup-data'
ports:
- '3000:3000'
depends_on:
- jellystat-db
networks:
default: null
volumes:
postgres-data: null
jellystat-backup-data: null
logging:
driver: json-file
options:
max-file: '5'
max-size: 10m
DockerfileIs there a Jellyfin client for my device?
Probably. I’ve been using infuse on my iPad, the native Jellyfin client on Android and Roku for the last month and have been very impressed with all of them. The lack of an app in the Samsung TV/Tizen store is very frustrating and the reason I’m using Roku instead of the Samsung store but the Jellyfin team seem to be making slow progress towards getting the app approved by Samsung.
*The product links in this post may contain affiliate links. I donate 20% of these earnings to the Good Work Foundation to help innovate learning in South Africa’s rural communities.
Thanks for making it to the end of the post!
Hi Tristam,
Could you maybe update the article or do a follow up article comparing Jellyfin to Plex, the good and the bad, what you like, what you don’t like etc.?