As the title states I am wondering what would be a good machine to build for my piracy. I am open to buying a used machine on eBay and expanding over time.
The last time I was sailing I had a Dell R610 Server Rack but I don’t have the space for this now. So something that can sit behind a tv stand in the corner next to the router.
- I would be running Plex / Jellyfin
- Some kind of torrent software
- Something for NZBs if still viable
- then the usual SONARR, RADARR, etc
I would like to be able to let friends connect from outside my house to stream media and allow them access so they can add films and the server goes off and finds them, extracts them, and adds them to the media server.
Thanks.
Depends on numbers of simultaneous streaming capability you need i think. I recently bought a 50 € used esprimo “office computer” and it runs very well. I put a 50 € 1TB nvme SSD+ ~200 € 4TB external ssd and a 30 € wifi pci card and good to go, ± 330 € total… Used an old 1TB HDD i still had for back-up. It wouldn’t suffice for dozens of simultaneous streams with transcoding, but it runs my <5 users jellyfin+deluge+nextcloud very well.
I would like to be able to let friends connect from outside my house to stream media and allow them access so they can add films and the server goes off and finds them, extracts them, and adds them to the media server.
This is going to be the second most expensive part of this process (the first being storage). Direct streaming for one person can be done on anything that can play your chosen video quality. Streaming for other people will require at least a video card, and a processor that can handle multiple people, as well as the extra storage that other people will want to use. You can use a single pi4 for one person, but you’ll want to look at a desktop PC with a modern-ish graphics card (for the encode) if you want to share with other people.
I want to give you some advice: Use Jellyfin, not plex. It has far deviated to a “hub” for other streaming services and unless you want to have built-in streaming platforms on your home media server, or have plex’s own “live tv” service shoved up your rear, I would steer clear.
Jellyfin is pretty lightweight if you’re just streaming 1-2 connections at a time, I ran it on a raspberry pi 4 for a while and it was near flawless, only recently have I made a proper VM setup for it.
I keep Plex as a backup because some client devices are really tetchy about interacting with Jellyfin. Not every smart device supports the Jellyfin app (nor VLC), and if they do have a built-in media player it’s typically one that uses filesize-based progress tracking, i.e. you wind up being unable to fast-forward or rewind the video (or sometimes unable to even pause). Generally every major brand of smart device has a version of the Plex app, for better or worse.
The only problem is properly exposing jellyfin to the Internet. How do you do it?
I’m not planning on leaving Plex anytime soon. But I did plan on setting up jellyfin in parallel to play with it and learn about it. But this stopped me in my tracks.
I don’t want my family to need to VPN into my network. Plex, for as frustrating as it is in many ways, just works. And it works on so much stuff.
I use a reverse proxy with Nginx edit: Jellyfin wiki
Jellyfin offers HTTPS, you just need to specify a certificate. It’s going to be a lot easier to just setup a web server like nginx and expose that to the internet, probably via port forwarding on your gateway/router. In that case, you can get a free certificate from letsencrypt.
So, the basic steps are:
- Get a domain name
- Setup JF server, ensure it works locally
- Install a web server and set it up to proxy traffic to JF
- Expose the web server ports 80 and 443 to the internet
- Setup letsencrypt with automatic renewal
This might sound like a lot of work, but at least you own your data and service. Plex can and will block accounts, rendering servers basically useless.
Sorry, why would Jellyfin be different from Plex for exposing to the Internet? Dynamic DNS service / static IP and router port forwarding just like any other self hosted thing. It requires a user/pass to login as usual. VPN is nice but not required.
Plex figures it out itself.
Assuming you don’t have CGNAT or any other complications, Plex just works straight away.
You can disable most of that stuff on Plex. But yeah, Jellyfin is nicer anyways as it’s free software.
Unless you have somehow managed to get the source code, no, Plex is not free software unfortunately!
The only things that really matter are storage space and power consumption. If you want to transcode videos, then you will need a GPU that supports encoding whatever codec you want to use.
Thanks.
This is useful as I didn’t really know what “transcoding videos” meant and why I might need to be concerned with it.
I now know that it the process of converting a video from its original format, resolution, or bitrate. And that this can be important if one of my friends is using a device that say isn’t 4K compatible and all my content is 4K.
I know you probably already know this, but I thought I would add for others that may stumble across this.
I avoided transcoding by making sure to only host videos compatible with all clients. Also, I will spend the time to reencode codes that are too large for my taste. Which happens after a rip of uhd disks.
H265 with slow preset really works wonders for non-grainy film. AV1 is what you have to use when there is grain.
You could use a potato, don’t need crazy specs
If they’re going to be sharing with friends, they’ll need something that can handle transcoding in order to eliminate all the complaints about “the movie isn’t working!” due to varying codecs and client compatibility. Any 7th or 8th gen or newer Intel chip (QuickSync) should work or something with a GPU.