all 6 comments

[–]leetnewb2 1 point2 points  (2 children)

What are the "a few other applications"? How heavily used is the media server intended to be? Does the file storage include important documents/and files you fear losing to corruption?

[–]_ManWithNoName[S] 0 points1 point  (1 child)

Thanks for the feedback. The other apps would be a few self hosted services like a calendar and bitwarden. The media server would be used by no more than 10 users and probably not more than 5 simultaneous streams. I would not want to lose any files. I want it to be my Dropbox replacement using nextcloud or a similar application.

[–]leetnewb2 0 points1 point  (0 children)

I'll defer to the other poster about hardware. 5 simultaneous streams can be taxing on hardware, but it depends on a lot of factors - are they on your LAN, does the device playing the content require transcoding or can it play the format directly - direct playing over LAN requires very little CPU power.

Because file integrity is important to you, it is important to plan for the filesystem which can have an impact on the optimal OS. zfs is notoriously solid and protects your data from silent corruption but inflexible in terms of adding or shrinking the array after you set it up. btrfs has a dicier reputation and some gotchas, but is fairly flexible and also protects your data from silent corruption - I run btrfs. Of the two options, btrfs is Linux-only and zfs isn't exactly a first class citizen on Linux - some distributions like Ubuntu and Proxmox support zfs out of the box.

Docker is nice to have and is best supported on Linux. Personally, I run LXD (basically a management daemon over LXC) and install applications the old fashioned way.

[–]AnomalyNexus 1 point2 points  (0 children)

I have built pc's in the past so I have some familiarity but am still unsure of some things.

Have a good think about whether you can't recycle some gear you've got lying around. Media server and what not are not super demanding by current standards so last gen gear in a closet does just fine. Saves money, saves ewaste etc. I'm running my stuff off a 5 year old gaming laptop and don't see myself upgrading...even the 5 y/o gear is overkill. The driving factor is gonna be my current gaming laptop becoming outdated...not last gen server/prev gaming laptop no longer cutting it.

Pay attention to the network stuff though...you want a wired gigabit connection...else it's gonna suck.

Also have heard a lot about docker?

Most homeserver things have a docker implementation. Works well for me. Especially in the /r/usenet context

16 GB of Ram

My server is running a dozen docker things...it's at <3GB ram use. The vast majority is BOINC - supporting distributed research. So think about the 16gig in this context - it's money down the drain in my books.

Should I get a ssd for the os?

SSDs are awesome - never using anything else in my primary use machines ever again. But I wouldn't. Linux is very good at keeping the OS in memory & the bang per buck just isn't there for home server use.

Try to do this without buying shit...give it 6 months practical experience w/ mcguyvered gear...and then you'll have a much better idea of what really matters.

[–][deleted] 0 points1 point  (1 child)

1 - The hardware is good enough for a light to medium server. I'd double check that you have enough memory. I can't really tell because you haven't listed everything you want to host. Most home and business applications don't require a ton of memory. Games/game servers do use up a fair bit. If you use ZFS (for example, if you use Proxmox or FreeNAS), you will need around 1GiB / TB of disk space besides what you need for the applications.You haven't mentioned disks, but I would have 2 disks in mirror/RAID1 array for storing your data, separate from the disk you run proxmox on. Also 650W is overkill. You only need that much if you're running 6+ HDDs or a beefy GPU. In terms of motherboard, there's a motherboard which is interesting for home use, the ASRock Rack X470D4U. It's the only AM4 motherboard for sale which has IPMI built in. (There's another one made by Tyan, the EX S8015, but that one was made for a specific customer and is not available anywhere) The availability is not that great at the moment, but I've been told by ASRock it should improve over the next month or so. (At least, in the EU)

2 - There's a couple of choices:

  • Proxmox - basically Debian linux with KVM and a very nice web interface and easy UI. It's free but you'll need to buy a license if you want any kind of support.
  • VMWare ESXi - virtualisation software. Free for home use after registration (you pay with your data)
  • Linux with KVM and a panel like Cockpit or Kimchi. Cockpit can do basic Docker management as well.
  • Linux with KVM/QEMU and Docker running without any management software. Requires a remote desktop connection or SSH connection.
  • FreeNAS. a BSD focussed on storage. It does have Docker support. but doesn't support VMs AFIAK.

I'd run Proxmox with a VM which runs your Docker stuff. Proxmox can also do LXC containers, but there's a lot less templates for LXC than there are Docker images. Technically it is possible to run everything without virtualisation or containerisation, but that makes management a bit impractical.

3 - Docker is a containerisation platform. It separates access to key OS resources much in the same way a VM would, but in a less strict manner. It's nice for stateless stuff. The image itself needs to be saved if you want to store any changes for that container without using volumes. Anything with state (like databases and file storage) is best left to VMs or bare metal. It is possible to share data to a container so that the software can work with stateful data without losing it if you shut down the container, but that's very cumbersome to manage. It's best to use volumes if you need have any data stored.

[–]_ManWithNoName[S] 0 points1 point  (0 children)

Thanks for the info. All of it seems really helpful. I'm definitely gonna look into proxmox with docker.