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
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.
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.
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.
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 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.
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.
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
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…
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.
It’s an interesting project you’re setting yourself. Enjoy!