Hi, I’m fairly new to the self-hosted universe but I like the idea of self-hosting media (I’ve looked at Jellyfin and Plex). But as I understand this requires quite some money and a lot of work. I don’t think it’s worth it if I put in all that effort just for myself but I’d love to build a small private streaming between me and my friends. We used to share and swap blu-rays after all, so it would be cool to build a shared collection.
My question is if that’s possible and if anyone has experience with this? I’ve read that Jellyfin and Plex are meant as home-media-servers and I’m not sure what limitations that implies. Can people access the library from outside networks and will that affect the streaming quality/speed? What specs would the server need to ensure it can handle a bunch of users? Is there a software that is better suited for this use-case?
Thanks in advance for any help!
Yes, you can expose jellyfin via a reverse proxy or through a vpn like tailscale to your friends.
Quality and speed depends on what client they use, what transcoding hardware is in the server and your internet speed. For most usecases, a newer Intel based CPU can do 5-8 streams at once without issue, so it will likely depend on your internet connection.
I have an Intel N100 based mini PC on a 1Gbit/s upload connection running Jellyfin that I share with some friends. Usually 2-3 streams at once and it handles it well. Most of my media is in H264/MP4 with AAC audio, so they rarely transcode.
Make sure to check your bandwidth capacity. Streaming data to 5 people could reduce your capability to navigate on Internet if they are outside your local net as the upload speed is usually the weak point of many ISP. If you have good fiber, it won’t be a problem.
other than hardware (close to anything you got lying around + dirt cheap used 3.5" drives) I don’t see what the expensive part is. granted, if you follow the youtubers with their specialized builds with $400 motherboards and virtualize this and kubernette that, sure, that’s gonna cost you. but if you disable transcoding on the server and store standard 1080p h264/x265 files that practically anything can play, a humble 10+ year old PC will do just fine.
start small - you already have a PC of some sort, run jellyfin server on with a couple of movies and shows and make it work. once it works within your household, look into accessing it from the outside. once that works, add an user or two.
once you make all of that work then you can look at drawing up optimal specs and setting up a separate box and whatnot.
I have a NAS with 2.2GHz quad-core, 8GB RAM running plex.
So far my record was 7 simultaneous remote streams (I think 2 were transcodes, the rest direct play), which it handled fine. And going by CPU usage, it should be able to handle 5 transcoding sessions (1080p max) at once.
Though, I usually run into bandwidth limits before I run into CPU limits (hopefully I’ll get fibre this year).
I use plex mainly but run jellyfin alongside it for people that watch on mobile.
I started with my old desktop that had an Intel cpu with quicksync and put unraid on it, i started with 2tb disk and gradually switched over to 14tb drives now I’m at 100tb total storage.
I have several famy friends coworkers using it now, at first no one was really interested but as streaming prices went up and content got more dispersed people started jumping on board.
Now multiple friends setup their own servers so its really good coverage especially if I need to take mine down for maintenance the wife can keep watching stuff from other people’s servers.
Things you need to find out is if you are behind a cgnat or other isp issues
I bought a lifetime pass for Plex years ago and it works great for what you are trying to do.
You need any kind of mobo/CPU combo, I’ve heard 12th Gen Intel onwards are as capable of transcoding on the fly as an older GPU so you wouldn’t need both, but if you go older I recommend a GPU as well, just because it gives more flexibility with being able to use hardcoded subtitles without locking up the CPU, and streaming a lower bitrate version of the video if your internet is shit, instead of - again - locking up
For easy certificate management I use NginX Proxy Manager, for media I use Emby and for a domain I use Cloudflare but you can absolutely serve your server with DuckDNS or another DDNS service for free.
I paid about £200 to build my server, with a £30 CPU (Intel i6 3100), free motherboard, £50 PSU and £110 SFF case (rough costs), and holy fuck it’s so much cheaper than any subscription. Electricity is about £3-£5 a year and other costs are optional. I also sourced a GTX 970 for £90 that was more than up to the task of transcoding, but again, if you get a 12th gen you won’t need it.
I just remembered the HDD I started with was a spare (10TB Seagate Barracuda Pro, but I shucked (like shucking for pearls) an external HDD to get it, as I heard that you can get lucky and get a good drive for cheaper than it would cost to buy it. Said eHDD was about £250.
That CPU is a bit spicey
I have Jellyfin running on a VPS. I used Swizzin Community Edition to set it all up. It is available online.
Plex/jellyfin
If I could do it all over I’d pick jellyfin however plex is on more devices and easier for people to setup…for now.
However you may also be interested in the arr stack. For reasons.
most of the work is getting media. I spend many hours ripping cds, getting track titles right (popular music this is automatic but I have a lot of obscure cds where this can’t be done). there are ways to download music, but again you will spend time doing that.
movies are even worse in part because there often isn’t a legal way to do things and so even if you have the rare legal movie things are tricky.
you can use a regular ftp server with administrator and user rights, give rights to those who replenish, and those who just take - guests