I’m ready to graduate from my Raspberry Pi era of selfhosting and buy hardware specifically for use as a server.
I’ve been recommended in the past to look for used Lenovo Thinkstations and/or Dell Optiplex, but it has been so many years since I’ve shopped for a computer, I don’t know what kind of specs to look for. What are the types of specs I should look for to get the best value for money?
I’m hoping to spend around $300-400, get something that can be upgraded in the future to last 10+ years, and do the following things:
- YUNoHost / reverse proxy
- Nextcloud with a custom domain for email addresses, cloud drive, photos
- Music Streaming with something like Navidrome
- Serve static websites
- pi-Hole
- Maybe pi-VPN
And someday maybe:
- Host game servers like minecraft
- Jellyfin for videos
- Kodi and output to TV?
So far based on my selfhosted journey, I expect to want the following:
- Room for 3+ Hard Drives
- External UPS (probably will go with the cheap APC at Microcenter that’s always on sale).
- Solid Power Supply / Cooling
- probably 1000 gigabit Networking (?)
The types of questions I have for Thinkstations / Optiplex:
- How is the Power Supply / Cooling?
- Processor? Do I need i5? i7? Generations? AMD? Clock Speed? I’m completely lost here.
- How much RAM do I need?
- Do I need a discrete graphics card? Can Thinkstations / Optiplex have a graphics card added to them later?
- Anything else I’m missing?
Thanks!
Someone should explain me why transcoding is even needed (other than in case bandwidth is an issue)? My ”media server” at the moment is a custom ffmpeg script to edit all x264 mp4 files it finds by moving the moov atom to the beginning of the file (and what ever the similar thing for x265 was), and then lighttpd to serve them via dir listing. No file has yet had playback issues even over the internet…
There are a handful of common reasons.
But yeah, especially if you are using a player with wide format support you may not need it.
Mostly using the ”browser” (so shitty that you can barely call it one) on my LG smart TV, and sometimes some iDevices, but I’ll consider myself lucky with codecs then. Even mkv’s play on LG without hiccups. Only small thing I miss are subtitles which these devices do not seem to support, even if I’d mux them in as a track.
I’m pretty surprised that all of the audio formats work. I’m not so surprised that the TV has h265, although maybe a bit surprised that it is exposed to the browser. The container support is also pretty surprising. Unless your MKVs are so simple that they are effectively WEBM.
Or maybe it pops the link out of the browser into a dedicated media player which has decent codec support.
iDevices do expose h265 in the browser, but the container support is still a bit surprising. But then again WEBM is basically MKV, so maybe that is why it tends to work.
I think this is exactly what it does.
With iDevices no luck with mkv’s if I remember right, but not sure if I have even tested one. Most my files are mp4 x264.
Yeah mp4s with h264 will play basically anywhere if the audio format is a common one. Must be the most supported setup.
Jellyfin and others transcode some videos to a more streamable format. Not important if it’s already a good streamable format, but if it’s some older file, it might not even be streamable (like AVI, and WMV). Those situations are where transcoding is necessary. It also comes in to play when the bitrate needs to change, like trying to watch a high bitrate video on old hardware that cannot handle it (like an old chromecast). It’s nice when the server can just transcode the video and send a less heavy or more compatible stream.
Hardware acceleration for the transcoding is simply more efficient these days. Most CPUs for the last decade can do software transcoding of 1080p without much issue (if that’s all it’s doing), but get multiple people watching older videos or some really high bitrate ones and hardware acceleration will become a tangible benefit, too.
Your situation only works for video formats that are streaming-friendly, meaning all the browser has to do is feed the stream of data to a video player, and it Just Works. The media player doesn’t need significant chunks of the file to start playing it, so as long as the connection is fast enough, it’s fine.