Low maintenance low energy hardware recommendation

I’ve been running Nextcloud on a Pi 4 in the basement for two years with two attached USB drives (via hub), one for Nextcloud and one for backups (rsnapshot). I want to add another backup drive that will be swapped every half year or so and stored in a locker elsewhere.

I’m running Pi OS and that cannot run the latest Nextcloud due to outdated PHP. I’m on the Buster based version but even the newest Bullseye version has an elderly PHP that lags behind Nextcloud.

My Nextcloud is exposed to the internet so I would like to have better update support. I’ve been using Linux for almost a quarter century but I can’t be bothered and would like something that let’s me update with minimal hassle. Ideally it has a good security attitude and is able to run Collabora/Nextcloud Office on the web, though that is not a must (the Pi is apparently too weak for this). And I’d love to have a passively cooled frugal system. My laptop currently runs an Arch based rolling Manjaro which I quite like …

So I’m looking for

  • A small box
  • ideally passively cooled
  • ideally but not necessarily optimized for Nextcloud
  • hardened
  • with relatively easy long-term maintenance (stable rolling release or reliable dist upgrades)
  • ideally but not necessarily capable of running web office

Customizing a Pi installation once would be acceptable, paying for such a device, too.

Any recommendations?

Hello,

Enterprise customers replace their server / pc hardware around a 5 yearly cycle just to ensure that manufacturers are providing high SLA support for the given hardware.

When you compare that to domestic / enthusiastic users running home server, consumer Desktop PC platform, specially the mid range segment is idle for long term support.

Sooner or later some of the components will break. Desktop PC platform allows modular replacement, whereas midrange desktop platform will have abundance of spare parts in distant future.

One should avoid proprietary platforms or exotic hardware when thinking about long term repair or replacement in future.

You can always off load the platform maintainance headache in cloud by opting for a paid NextCloud Service.

Thanks.

First of all, most of the points you raise are seem to be software and not hardware related, and that won’t change fundamentally when you buy a new device.

I would highly recommend to buy something x86 based. This would give you, depending on the device, significantly more headroom in terms of performance, NVME / SATA support for storage instead of just USB / SD card. It also gives you a much wider choice of software, and even support for virtualization, i.e. you could install Nextcloud in a VM, which would allow you to take snapshots of your installtion before upgrades, allowing you to roll back easily if something goes wrong.

Here are some examples which seem to be quite popular in the homelab community:
https://www.amazon.de/s?k=beelink&__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=155QUKCX1ES3X&sprefix=beelink%2Caps%2C126&ref=nb_sb_noss_1

There aren’t any speciallzed devices for Nextcloud. There was a “Nextcloud Box” years ago, but at the end of the day that was just a RaspberryPi in a fancy case that had a Nextcloud logo printed on.

That’s mostly a software thing.

Again, a software thing.

Any of the small x86 boxes with 4GB of RAM (better 8GB) are capable of running Nextcloud Office.

My recommandation would be to buy a small x86 box (like in the link above) and then running Nextcloud-AIO on it. Nextcloud-AIO is the closest thing to a “worry-free” appliance thingy you can get, and unlike Nextcloud Pi or other community projects, it is officially supported by Nextcloud GmbH.

https://nextcloud.com/blog/how-to-install-the-nextcloud-all-in-one-on-linux/

https://github.com/nextcloud/all-in-one

1 Like

Thank you @NaXal and @bb77 !

I always had cloud hosting in the back of my head, but it was too expensive since I need about a TB for my use case. Your comment made me check again and the prices have come down to a sensible point - thanks for bringing that up! Still I think I’ll keep my data at home for now.

And there I’ll indeed go with a Beelink, thanks for the pointer! My assumption was, that I’d end up with some NAS-thingy with a manufacturer provided distro, but apparently I’ll invest half a day to set up my own system, sigh :smile: Nextcloud-AIO seems perfect (I have experience with containers professionally) and the added sandboxing already makes me feel slightly better about having a box with an open port in my home.

So the only missing piece of the puzzle now is a distro for hosting that. I’ve maintained a vHost for many years and I hated having to update Debian every couple of years. Is there a comparably security and stability focused rolling distro or will I go with some Debian LTS? Apart of the Nextcloud containers the system will run the backup and a Pi-Hole.

Thanks
Thorsten
1 Like

You only need to update Debian about every 5 years, if you make use of the Extended Security Maintainane period. Or you you could use Ubuntu LTS, which has a strict release cycle, with up to 5 years security support for the LTS releases, or up to 10 years with Ubuntu Pro. However, it seems Docker only supports the latest two Debian and Ubuntu LTS releases, which means you would have to upgrade the OS at least every 4 years.

https://docs.docker.com/engine/install/ubuntu/
https://docs.docker.com/engine/install/debian/

In theory, it should work on any OS on which you can install the latest Docker Engine and Docker Compose. In practice, I don’t know if there can be problems with certain distros. As far as I know Ubuntu LTS is recommended, but Debian works fine as well.

My personal opinion:

I’d go with the latest Debian Stable or Ubuntu LTS, becuase since all the dependencies like PHP, PostgreSQL, Apache etc. are running in Docker containers anyways, the OS upgrades every two or four years should be smooth and quick.

Also, with an LTS distro you can turn on Unattended Upgrades, while with a rolling release distro there might be manual intervention necessary from time to time. I use Arch Linux on my desktop, and it rarely happens, but when it does, and you don’t have access to your server to fix it right away, you might experience down time. So automatic updates are not recommended on a rolling release distro, which means that you’d have to update it manually at least once a week, which is more work than updating your Ubuntu LTS or Debain stable to the latest release every two or four years

1 Like

Thanks a lot, that is great help! I’ll go with Debian as recommended.

1 Like

Hi, if you don’t really need collabora (for which indeed the Pi 4 is too weak), you can still remain on a RPi4 with Raspberry Pi OS 64 bits and use the docker images of Nextcloud+MariaDb.
Mine is passively cooled with an aluminum box around it. The maintenance is very easy, you just need to update your system (apt-get update+upgrade) and your images (docker compose pull + up -d) each week.
I’m doing that since years w/o any issue…

…which of course is also applicable to “real” hardware :wink:

Btw. an often underestimated advantage of real PCs compared to the RaspberryPi are the storage interfaces. I would prefer NVMe and SATA over SD-Cards and external USB drives any day.

2 Likes

If you’ve got a TB of data then you should consider swapping over your backup drives more frequently - I use 2 Bacula to two USB disks and swap 'em over each week, with 3 backups on each one. Sods law says something exciting will happen the week the day before you swap this disk which could mean 5 months of data evaporating…

There’s fanless PCs available (seach silentpc or quietpc) although I’ve not quite succumbed to one myself just yet. Another option maybe something based on NUC which is one of my winter projects. Just changing the fans on many off-the-self PCs to low-noise ones can make a huge difference to sound levels if that’s the driver for passive cooling. Liquid cooling with a big radiator can also let things run really quiet too.

If you want low energy you have to trade off performance (the fanless PC’s I looked at a few years ago were all relatively low spec) so slower CPU and minimise the RAM. I added a stick of RAM (16GB?) to my home server and power consumption went up 10W immediately. Put in a basic fanless graphics card too if it doesn’t have it built-in. SSD instead of spinning rust, but again check power consumption between brands.

I’m still using Ubuntu 20.04 LTS due to a dependency (that’s is now fixable but I can’t be rsed right now), but taking PHP from [ondrej] sury.org. I figure that a major OS update every 4-5 years is OK. I’m trying to keep to routine updates every 3 months unless I’m having a play or I read about something scary. If you feel brave (and have good backups) you could script a weekly deployment of security patches so you don’t have to worry about that even.

Or of course outsource all that stuff to the hosting provider of your choice. :slight_smile: :money_mouth_face:

It’s an interesting project you’re setting yourself. Enjoy!

Hey everybody

Just for giving some closure: I did it mostly as recommended by bb77 using a Beelink, Debian, auto-updates and -backups.

This feels substantially superior to my previous RasPi deployment in almost every regard. The migration was somewhat hairy.

I migrated my files as per some migration docs and then migrated the data of each app I used via separate manual exports and imports. Doing that for more than one user would quickly become unfeasible. I understand why it has to be so cumbersome, but if you happen to consider how to deploy a Nextcloud: I strongly recommend choosing something that will allow you migrating your whole DB to a newer deployment eventually. I got stuck on an older version on my Pi which barred that route (though I might have been able to make it work by deploying that old version in my new docker setup).

Using Nextcloud on the Beelink is noticably nicer than on the Pi, all apps load much faster and the background file syncing has far less hickups because it’s faster, too.

I preferred my previous file backup, because there all files were plainly accessible in the backup, however, the “new” built-in backup also covers the Nextcloud DB and setup which is much preferable even though the backup is now opaque.

I additionally sync’ the backup to two external USB drives that I periodically physically swap.

All this has now been running smoothly for a month, I experienced no problems worth mentioning, docs are great, the system seems pretty solid. I recommend this approach.

Thanks everybody for your help!
1 Like

That is as conservative as it gets. Nextcloud will need you to update php more often than this.

Ubuntu is saying they offer “pro” support for 10 years on Ubuntu now, so look into that.