Jellyfin is excellent. Swapped to it from Plex about a year ago. Haven't looked back once. I run the server on an old M1 Mac Mini, it's the first time I've felt I have my own personal Netflix. I can stream 40gb 4k HDR Atmos rips to old stereo 1080p plasmas with ancient Firesticks (on wifi) in bedrooms in my house with almost zero delay, even when fast forwarding, and getting near realtime frame previews as you skip. It's lovely software.
In the UK businesses generally write computer hardware off over 3 years, or 5 years if it's a really extravagannt purchase, this little M1 is now written off from a business perspective... so... They make really great low powered, insanely fast & quiet home servers... It's a lovely time to be alive! :-)
They are still £500 on eBay, compared to the Lenovo micro systems which are less than 1/2 the price for a 10th gen and doesn't have everything soldered down it doesn't seem like a great deal yet.
I'll probably be waiting another few more years before I have an M1 for my home server.
Mine just works with Wireguard. I took a couple extra steps to make it convenient:
1. Public DNS entry gives jump box IP. With some http forwarding the Letsencrypt flow initiated from the internal Jellyfin server.
2. My Wireguard server (running on the jump box) runs dnsmasq and answers DNS queries for wireguard clients with the wireguard IP for the Jellyfin server.
3. DNS server on the home network gives those internal clients the local IP.
Works great now; obviously not plug and play but I had fun setting it up.
I have a similar setup, with an internal Jellyfin server on my lan. Every phone in my household has Wireguard that automatically connects if you are not on my wifi (which means pi.hole, nextcloud, access to cameras, and other services are also available).
It works quite well. Each family member has their own 'Library', since we all have very different taste in music, plus an 'All Library' that includes everything. We can also stream movies and tv shows I own and have ripped.
The clients are OK. We are mostly using Finamp for music playback.
I like knowing my music is always available to me, can't be removed, and is always the same version (I don't necessarily want a new remastered version)
I used Jellyfin for the first time recently. It was very smooth and worked flawlessly for my use case (watching episodes of a TV show on my phone after downloading them on my computer).
I never used Plex because it creeped me out. Maybe I misunderstood something but it seemed like it was needlessly phoning home.
I'm really trying to like Jellyfin, but unfortunately the Roku app is just absolutely terrible by comparison. The thing that grinds my gears the most is I can't see how much time is left in what I'm watching without pausing.
I feel like they had a boom early in the pandemic and then just completely flamed out. Now I feel like support is terrible across the board - It's not just jellyfin that sucks on Roku, so does Netflix/Hulu, and don't even get me started with channels just entirely disappearing because of developer disagreements and licensing.
That said - Jellyfin really sucks on Roku. The android tv version of the app is miles better.
Emby, a (somewhat) open source C# project, is not a fork of Plex Media Server, a closed source C/C++ project. Emby was forked as Jellyfin however, as a reaction to Emby becoming more and more of a closed source project.
Plex was forked from XBMC which is renamed to KODI an open source project. Think the fork was around version 8 or 9. KODI is up to 20. Downside to KODI is it does not have streaming built in like Plex. But has built in emulation again like earlier version of XBMC.
what do you mean by "KODI ... does not have streaming"? I have rpi with KODI on my son's TV and it streams everything over CIFS from my NAS - the NAS doesn't transcode or otherwise do anything but host the cifs share.
Plex can act as a 'head unit' and do format transform and metadata management. Then stream it to a secondary plex client. KODI does not do that. That is the one killer feature Plex has over KODI. In all ways KODI is better except in that use case. Picking data from a CIFS is basic XBMC/KODI/Plex functionality and has been in there for a long time going back to the original xbox days. Jellyfin is similar with its ability to transcode and stream that to a client. In some cases they let you stream it thru a web client (which is kinda cool).
It is a nice feature for low bandwidth applications. Say a VPN to your phone, or a friends house who has crappy internet. If I remember correctly there were a lot of clients also for TV's which have absolute rubbish CPU power and no local storage (for holding metadata). Also the centrally managed metadata is nice when you have more than one client. You can get the same effect with KODI and using a DB like mysql or mariadb. But it is sort of finicky to setup correctly.
I personally use KODI as I do not need that particular streaming feature. Also it is broken with ISO's which is one of my major use cases.
Does Kodi serve up files? e.g. Can I install Kodi on my PC with all my media, then watch that stuff on my phone when I'm away from the house, or grant a friend access to my library?
That's what Plex does: it has server apps and client apps.