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.
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.
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
Tailscale is what I do. If you make an exit nice they can forever stay on your VPN… I think…
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.
I run both and most users still choose to watch via Plex. I’d like if Jellyfin took over, but it’s not there yet.
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.
So it’s not fully self hosted then? I can’t see how it would do that without registering you with their own service as a middle man. Seems like that kinda defeats the purpose.
Plex Inc has a central auth server, and your media server automatically creates a dynamic hostname for connecting to your server’s IP. And if the user can’t reach the server directly for some reason (NAT for example), Plex has a “relay server” that works as a proxy, but your quality gets reduced to like 320p or something.
So if Plex Inc shut down their auth servers suddenly (or have downtime, which happened a couple years ago), you won’t be able to do much. It’s possible to bypass the central auth, but no one does it, because such auto-discovery is one of Plex’s benefits – user logs in on their app, and it shows all their possible servers. But otherwise, it’s self-hosted.
deleted by creator
No, it’s not fully self hosted.
deleted by creator
AFAIK that’s exactly what it does.
You can disable most of that stuff on Plex. But yeah, Jellyfin is nicer anyways as it’s free software.
Plex is also free. None of the premium stuff you pay for is essential except downloading I guess but like… You already have access to the files locally so that’s pretty easy to work around
Unless you have somehow managed to get the source code, no, Plex is not free software unfortunately!
I have been using Plex for five years and I have not spent a dollar. How long have you been using it?
Pretty shitty behavior on your part with that link. Thanks for the patronizing nonsense.
But don’t take my word for it.
Edit: ah Free not free price. Mea culpa
They mean free as in freedom, not free as in beer
Free software generally refers to open source software, who’s code you can view and edit yourself
When we talk about FOSS, we talk about Free, Open Source Software. Plex is free but not open source, and it’s free price is not enshrined in it’s license as with other FOSS software, which means that there could be a rug pull at any time. But I think that’s unlikely due to its business model.
Jellyfin is FOSS software meaning it will stay free and open source due to its license.
I have an ancient (10+ years old) macbook pro running with a Jellyfin server and qBitorrent and a VPN and it works great!
No complaints. (I also have a 2 TB harddrive plugged into it).
Oh that’s great to hear, that things are still running on a decade old hardware. I will factor this into my choices when weighing price points.
Does this ancient macbook pro still receive OS updates? Separate but related for purposes of choosing hardware. Thanks!
No it doesn’t. I run older versions of some software. I plan to switch to linux once macos gives out.
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.
Nicely done. That’s considerate as hell. I appreciate it.
Thanks dude.
Personally I would just get a used optiplex, run Linux, docker, portainer, qbit, Jellyfin.
Thanks.
After a very quick scan on eBay it seems these are quite cheap. Which is nice.
Something to also keep in mind is the codec support of the GPU for hardware decoding and transcoding if that’s important to you. The Optiplexes will mostly be fine in this regard but if you see yourself needing AV1 support anytime soon, Intel’s N line is an efficient and relatively cheap option. Getting HDR tone mapping working at the hardware level might also be something to look out for.
I think around $40 depending on the model is a fair price. I have two at home and three in the works for off site backups lol. They’re fun, frequently have surprising specs, and low energy draw
Interesting. The first listing I look at had the price ranging from. £80 - £185. So either very inflated price or newer model.
That listing is for a Sandy/Ivy bridge processor from 2011. I would really recommend something newer than Skylake at the minimum. For reference:
Hey, thanks so much for looking at the listing and also providing some resources.
This alone gets me on the right track and I really appreciate you taking the time.
Something else to think about is future expandability. I’m assuming you’ll start with an HDD or two, but what about after that? You’ll either need to purge out your library or have a bunch of external drives connected. The Optiplex is a great thin client but it only has 1 or 2 SATA ports and one will likely always be used for your OS drive (SSD) which leaves only one internal slot for an HDD.
Also just some random advice, but if you want cheap drives, keep an eye out for WD Element or WD EasyStore external drives to go on sale. These are extremely easy to remove from their case and be used as an internal drive. Something else to check out would be serverpartdeals.com if you don’t mind trying some used or refurbished enterprise drives. I bought my last 14TB drive from them for something like $100 and haven’t had any issues. This is generally worth the risk since you can just download your media over again if the drive happens to crap out on you.
I bought one across the pond at a university used store then some at an e-recycler. I’m not surprised ebay is different. Hope you can find a fair price!
Thanks. I’ll try look for places local to me that might e-cycle or somewhere that handles old tech at companies or universities.
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.
I was going to have potato for tea, but I guess not now.
You monster
You can also mash them, boil them, or put them in a stew.
🤯
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.