Server Hardware Suggestions

Hello Friends,
In the a past few months I’ve been running NextcloudPi using a Raspberry Pi 4 4GB I had in my house that was just used to run an instance of OpenHAB to controls my smart home system.
I figured I could put this Pi4 to more use, so I installed Nextcloud on it.
Almost everything is working properly, except for a few Nextcloud apps that cannot be installed due to incompatibility with the ARM platform (such as OnlyOffice, Whiteboard).

I’m in the point of thinking maybe I should invest in better hardware to host my home server.
My current main goals for the server are as such:

  1. run OpenHAB to control my smart home.
  2. self-host Nextcloud to backup and sync files, and on occasions host group video calls.
  3. self-host an RSS server.
  4. self-host a Wordpress website.
  5. run a Plex server to stream my video files in 4K and 1080p.

Do you think a Raspberry Pi 4 4/8GB would be strong enough for these tasks?

My Pi4 is connected to my router using the gigabit ethernet port and my computer is using Wifi 5GHz.
I’m currently seeing Nextcloud file upload speeds of about 7-10MBps and download speeds of about 20-23MBps.
Can these speeds be improved?
Will I get better upload/download speeds if I use stronger server hardware?

During my internet research I came across a Mini-PC with an AMD Ryzen 7 5800U CPU, which has a relatively low power consumption, and yet is much stronger compared to the Pi 4.
Would such a Mini-PC actually improve the server performance in real life?
Many times hardware companies boast in their ads, but in reality the improvements might not be that big for the extra money spent.

Hope someone can share some thoughts on the matter :pray:

Sure I do. Many roads leed to rome so my thought maybe if your only want to have a server rent a machine by a proper and trustable provider otherwise if this is no option I would think in this directions:

according to your goals my suggestion is that you will want to run proxmox, or a proper alternative such as unraid, providing virtual ressources for your services on a virtual machine each bundled on one actual machine a.k.a a homeserver.

The main goal here is to have as many threads, cause you want to hand them over as virtual core in to your virtual machines of your proxmox instance, on the cpu with low energy consumtion and low noice.

My suggestions would be take a ryzen cpu, watercooled, wich is running in a machine with arround 500 Watt power supply. Proxomox and co are pretty hungry when it comes to RAM so you might take arround 16 or 20 GB. If your budget hasn’t dried out at that point you’d maybe like to take a look at a second or faster ethernetcard for faster or redundand connectifity.

But whatever you do don’t over do it. Take what you get for arround 600 € and let it go, it’s only a home server and not a data center.

1 Like

Thank you for your thoughts, @DrJambus .
Is Proxmox required?
I was thinking of running the server on Debian with OpenMediaVault.
Then create separate docker/portainer instances for each self-hosted service.
And use Nginx and cloudflare to help keep most external ports closed.

thats possible too. But i like to play around a bit with proxmox and most tutorials on youtube and some enterprise user use it too. It’s definitly not required.

1 Like

Hi @mjeshurun

Both options are ok. A VM like in Proxmox offers you better isolation and theoretically more security than Docker containers. At least out of the box. It’s also easier to manage separate networks for external and internal services, if that’s something you are planing to do. In the end it depends on the effort you want to put into it and your requirements regarding security and segmentation of individual services.

1 Like

Thank you both :slight_smile:

How about the actual upload/download speeds?
Will it improve if I change the server from Raspberry Pi 4 to a different hardware?

There is no simple answer to this question. It think it will certainly feel snappier. But you have to consider that besides the hardware and the network speed, PHP and web server configuration also have an impact on the file transfer speeds. But a computer with more horse power and faster I/0 will certainly help with that too and you should be able to reach much better transfer speeds than with a Raspi4, with it’s in comparsion relatively slow CPU and I/O.

1 Like

Thank you.
Yeah… I assumed there are many factors that also affect maximum speeds, and that there could be various bottlenecks.
I assume a stronger computer will improve the speeds of data transfer over the gigabit ethernet port.
And those speeds can be improved further if I purchase a computer with a 2.5/10 gigabit ethernet port. But, it most likely, wouldn’t make a big difference in speed unless I also upgrade my router to a model with 2.5/10 gigabit ethernet ports.
So I’d need to find a good balance between maximizing my current hardware in the best way without needing to replace all the different hardware elements and without spending hundred of dollars.

do you boot your raspi from an usb-3/ssd/nvme disc? that would be a good starting point to improve speed.

Hi @Reiner_Nippes, thank you for joining the conversation :slight_smile:
Yes, I’m running the Pi directly from an SSD drive connected to one of the USB 3.0 ports.

In my country the current costs a lot, in my opinion it is only good for me and my wife an RPI4? Then if lightning strikes or a disc is damaged how can I prevent the problem?

@MorugaSkorpio for two persons a raspi should be enough. if you “only” share some files, contacts, calender.

make a backup either to an offline media (usb stick) once a week. or encrypted to the cloud. (google drive, dropbox, et.al.) i prefer restic.net in combination with rclone.org. (search the forum. the topic was discussed here already.)

2 Likes

Myself. I have a nextcloud server setup (rpi4-4gb), a seperate pi4 running a Prestashop setup, and another one running a plex server.
the Prestashop and nextcloud could probably be combined, but the plex server is roughly 1.5 transcodes at the same time. (more than 0 is great for me!) ofc more than one can watch at same time, if not needing to transcode. stats say 2 transcode, but thats streams (audio/video) which is roughly ONE video.

i have several pi’s 7 or 8 total doing various things like that. more for fun ofc. but i wont give up my plex and nextcloud setups.

I have the main part on the sd cards, so i back them up every other week.   i bonded a 4tb HDD to the nextcloud (and moved the data setup onto it, for the read/write stuff)    and plex has a 6tb hdd.
1 Like

@giantkin, yeah, when Plex needs to transcode it becomes a power hog.

I bought gen 7 of this 10 years ago:

It hasn’t missed a beat. Specs are not as high as other server hardware but I think they
Quote lower specs to keep other hardware selling. For example, then gen 7 said max 2TB drives and I have 8’s in mine (drive have obviously been upgraded due to needing more room).

I would run proxmox on this then all the other stuff.

Remember, if your data is important, RAID is one method you can use to help protect it.

I use an HP Server (ML 350 G6) which I bought second hand for about 300€ 4 years ago. It works like a charm. It has 4 quadri heart processors, 48Gb of memory and about 2Tb of SCSI (mechanical) disks. I measured power consumption at less than 300W.
On it I run VMWare (Free version) with the following virtual machines :

  • Windows server (home central location for storing files)
  • HomeAssistant (I suppose to be an equivalent to your OpenHAB
  • nextCloud
  • nGinX for inbound routing and certificat delivery
  • Ubuntu Server for just playing around

Global CPU use is never over 40% so it might be considered “over kill”.

As the power delivery in my area is not very reliable (remote area) with frequent outages the whole configuration is powered through a UPS (also purchased 2nd hand for about 30€). After 10mins of “no power”, my windows server runs a script which performs a tidy shutdown of each VM (including the windows server). As most outages are <5mins, this is a convenient arrangement guaranteeing no data loss.

I would certainly recommend a configuration such as mine if the cost/availability is not a problem and reliability is an important aspect. However, should cost etc. be an issue, then your solution may be a good option (look at other posts for guidance/inspiration).

My advice would be to get a real server.

I bought a used Dell PowerEdge R420 with two quad-core Intel Xeon CPUs, 96 GB RAM, 4x 500 GB hard drives on a PERC RAID controller, and enterprise iDRAC.

I run VMware ESXi with Nextcloud, Jellyfin, Jitsi Meet, OPNSense, Starbound and Terraria servers, and basically whatever else I want on it with power to spare, at probably the same price point as the cute little mini PCs people seem to want to get. Also it runs at 165W which is less than my TV.

It cost $429 on Newegg at the time. Food for thought.

4k streaming can’t do it??? one person at a time