Own high-performance cloud for €261


I’ve spent a lot of time in the last few weeks testing different NAS configurations. In short, it’s not worth buying a NAS from QNAP or Synology. I don’t even want to talk about my WD excursions anymore. The following applies to all these purchase systems: The performance is subterranean, the security is questionable, and these systems are also overpriced. The open source solution described in this article can bring more security and speed for a lot less money. This article explains very well why you have your own cloud at all.

nextcloudPi

nextcloudPi is a wonderful project that allows for easy installation of nextcloud on a single board computer, including memory cache (Redis) and SSL certificate. Single board computers are small mini-computers like the Raspberry Pi that cost from €30 and can still do remarkable things. As I said, the installation of nextcloudPi is easy, but not yet at the level that a DAU would be able to do without accidents. You can install and configure the whole system without a command line. Only some terms like dnsmasq are not self-explanatory. However, if you compare this installation routine with the installation instructions from Seafile, nextcloudPi is a prime example of how to make something simple out of something complicated. Seafile is a cryptic monster when it comes to installation, and I write this as a computer scientist.

What I like about nextcloud is that, unlike owncloud, no money is charged for the mobile app and the system somehow seems more modern, smoother. The app also allows photos from my phone to end up directly in my cloud and not on Google & Co. However, it is usually not a sure-fire success, as a certain PHP configuration is required, and such a memory cache is not installed every day. The installation routine of nextcloudPi takes care of all this. This is developed by nachoparker:

 

Odroid XU4 instead of Raspberry Pi

Surprisingly, the Raspberry Pi had done very well with the nextcloud installation, better than nextcloud on synology or QNAP. The Raspberry 3 B+ has only one big disadvantage, USB (where the hard drive is attached) and Ethernet are connected to the same bus, and since the Raspberry is only equipped with 100 MBit Ethernet anyway, writing and reading is not exactly faster if the hard drive is also attached to it. 1 GB of RAM is not very much either.

After a lot of research, I chose the Odroid XU4 with 2 GB of RAM and 8 (!) cores, after I had flirted with the RockPro64 for a long time (4 GB RAM!). The XU4 costs around 100€, with power supply, flash memory etc you pay a little more than 120€. With the RockPro64 there were too many forum entries about which operating system causes which problems.

The shopping list

Probably you can buy the components cheaper somewhere, but since it had to be quick for me, I took the following components:

The Odroid package already includes a MicroSD adapter for the eMMC card, but an adapter for the MicroSD card is then required to be able to flash the eMMC card. I have not included it in my cost overview. An eMMC card is an extremely fast, fingernail-sized memory that is plugged directly into the single board computer.

The installation

First, the appropriate system must be downloaded from the nextcloudPi page. I wanted to use Armbian, because other things would have been possible with it, but I couldn’t get the SSD to work on the USB 3.0 port. This was no problem with the image for the Odroid board. With Etcher, this image is then flashed to the eMMC, which takes about 5 minutes. And then you can plug the eMMC card into the Odroid, connect Ethernet, plug in the power and boot the small computer. I had refrained from connecting a monitor and simply looked on the net to see which IP address the computer would get. By the way, not such a clever idea of mine, because at some point you want to be able to access the computer via SSH.

With https://:4443/wizard you get to the installation interface, which leads through the installation. At some point, you will be asked to plug in your USB drive, which will then be automatically mounted and optionally formatted. In total, you are done after a maximum of 30 minutes, including unpacking and plugging together.

The speed is awesome. Whether at home in the network or outside, the thing is fast, even faster than Dropbox or Google Drive. But more importantly, I have my data at home (of course, I have to set up something so that I have an encrypted backup of my private cloud in the cloud somewhere). Of course, you can ask yourself whether Dropbox or Google Drive are not much cheaper if they only cost 10€ per month for a terabyte. It takes me more than 2 years to recoup the costs. But, again, I now have my data at home and not somewhere. And it’s faster too.

The configuration

A few words about the configuration. Of course, 2-factor authorization is activated. I would also strongly advise activating dnsmasq in the nextcloudPi configuration panel and setting the DNS server of your own computer to the IP of the Odroid. This allows the individual computers in the network to be distinguished from each other in the log files.

As a user, you create a standard user for yourself who is not an admin.

I didn’t encrypt the hard drive. Encryption depresses performance and also requires more disk space, but I was mostly worried about losing the keys. But maybe I’ll make up for it again sometime. But then this only works with new files, not with an existing set.

By the way, even if the access URL is a domain, communication is only local in your own home network. So there is no detour via the Internet, even if it may look like it.

Comments (since February 2020 the comment function has been removed from my blog):

Sascha says

  1. July 2019 at 04:48 Sounds mega interesting, because my RaspberryPi 3 is really suboptimal… have you ever tried the Odroid N2 or do you think it’s worth it in general? How exactly do I have to install this? So you couldn’t take Armbian because the SSD doesn’t work then? Was it specifically due to the SSD or will it be the case in general? I’m not a professional and can’t find any instructions. Which image exactly from where needs to be flashed? https://ownyourbits.com/nextcloudpi/#download I know that everything is available here and would actually like to use Docker and if that is possible, PiHole. This all seems to be a bit more complicated than with the RaspberryPi. I wouldn’t even know how to turn on SSH. But it’s all a one-time thing. Can you give me some information? Thank you very much and best regards!

Tom Alby says

  1. July 2019 at 12:09 As far as I can see, the N2 is not yet supported. Maybe you go to the developer’s Telegram group and ask there. In principle, the new Raspberry 4 would also be a good candidate with its 4 GB of RAM. But I don’t see any support there either.

I didn’t spend enough time troubleshooting the USB port and SSD. My experience is that you can waste an incredible amount of time with something like that, and that’s exactly what I didn’t want to do anymore. Flashing you usually put an image on an SD card or similar from which you want to boot. Because of Docker: https://hub.docker.com/r/ownyourbits/nextcloudpi-armhf

Sascha says

  1. July 2019 at 17:33 Hey Tom, thank you for your answer. I am already in the Telegram group for NextCloudPi. I have now ordered the N2. The problem with the device is that there is no official Armbian (at least at the moment) and you can only install NCP via Docker and thus have to do without the BTRFS feature. An image for the Raspberry Pi 4 has existed since yesterday. I will now receive an eMMC with pre-built Linux and therefore probably don’t have to flash anything at all or am I seeing this wrong? According to the NCP developer, there is no logical reason to hold on to a Raspberry Pi, as it is inferior in all levels. Do you think it makes sense to use an SSD as a NAS? I have my doubts about it right now. Of course, the speed is great, but not that the data is gone overnight. Well, let’s see then. But I think the N2 will run well.

Tom Alby says

  1. July 2019 at 11:43 Whether SSD or HDD, a disk can always break. Either RAID or back up daily snapshots elsewhere. I even go so far as to secure encrypted snapshots in the cloud.

Lutz says

  1. August 2019 at 15:48 Hello Mr. Alby, thank you for publishing your experiences and certainly you have very profound IT knowledge, at least more than I do. Nevertheless: I think (so far) that if you don’t set the capex alone as a limiting factor, there are probably also powerful NAS at e.g. Synology. According to their white papers (I didn’t try it, because I certainly have to invest more time than you do), some kind of end-to-end encryption should be usable when uploading to the cloud. I have “sealed” my router and no other open ports open (e.g. 5000 and 5001 etc.) instead I go to the router from the outside via IPSEC IKVE2, which should be secure in my opinion. My stomach rumbling feelings come from here: 1.) I don’t know of any serious external cloud that can be accessed via VPN. Only pre-emptive solutions with end-to-end Ecryption and as far as I know, they can’t be connected to a Synology, for example. So it won’t be anything right. 2.) How can you find out if there is a backdor in the Synology world of the encryption solution? Question: In my opinion, it should be secure enough (100% is probably illosoric, but if secret services are interested in you with their budgets you can probably write “from” or you have done something wrong) If, for example, there is no back-door and the pre-encrypted file is stored via SSL on e.g. Onedrive from MS, or Google Drive or similar.

Tom Alby says

  1. August 2019 at 19:04 Certainly, there is more powerful hardware for more money, both from QNAP and Synology. For me, however, the NextCloudPi project shows that with little effort and little money, you get a high-performance solution that is also available as open source (and you can check if there is a backdoor). And now with the Raspberry Pi 4…

Also, I don’t need a VPN to an external cloud if I already store my things encrypted there…?

Jan says

  1. August 2019 at 09:23 Hallo Tom,

I have just read two of your reports, as I have also been busy with my own cloud these days.

The decision was made for me recently on an Ordoird HC1, for the OS I used a standard MircroSD with V30 standard. The HC1 / HC2 are also said to use the XU hardware in a reduced version for NAS/Cloud.

The installation was set up by hand for me via Ubuntu 18.04, which cost me two days in total, including trial error scenarios. Therefore, it sounds very interesting to me that it worked so smoothly for you within 30 minutes with the NextcloudPi image. I will have to use this in the second craft project shortly. My next goal would be a Nextcloud solution including backup / RAID, let’s see what comes out of it.

Best regards, Jan

Markus G. says

  1. September 2019 at 21:16 Hello Tom,

can you already tell us something about the performance and stability of your home NAS, are you satisfied so far or have there been any problems during the operating time?

Would like to tackle such a project.

Thank you and best regards Markus

Tom Alby says

  1. September 2019 at 21:21 I’m super happy with the solution. In between there was a problem with the Let’s encrypt certificate, but I also got that solved somehow.

Christian says

  1. October 2019 at 00:01 Hello Tom, Would you recommend going for the Rasperry Pi 4, or is it worth the extra price with the Odroid XU4 set? I’m not so familiar with the topic of single-board computers and had only wondered if the 4 GB RAM offers an advantage. With such an investment, however, I prefer to pay a little more if it is worth it from the performance. Do they use the Nextcloud app on their mobile devices on the go?

Tom Alby says

  1. October 2019 at 09:09 Good question. I haven’t tried the new Raspberry yet and I don’t know a benchmark. Yes, I use the mobile apps for this.

Maik says

  1. October 2019 at 15:41 Hello Tom, unfortunately I just found your posts on the topic of having your own cloud. I have struggled considerably with Owncloud and QNAP in the last few days. Unfortunately, everything that is offered in the original is no longer up-to-date. However, my NAS (TS-221) would certainly be out of the question as acceptable hardware. Now I’m thinking about realizing the following: I still have 2 Pi 3B+ lying around that I use for nothing. I would like to implement the NextCloudPi on one of them, but put the storage for the files on my NAS (mount it somehow), because there is still so much space there. Is that possible somehow? (You might hear that I’m not that much of a Linux/Unix crack)

THANK YOU Maik

Tom Alby says

  1. October 2019 at 15:58 Hey Maik,

I’m sure that works somehow, but I haven’t tried it yet. However, I suspect that your QNAP is also Linux-based, but then manual work on the console is the order of the day. See here: https://thepihut.com/blogs/raspberry-pi-tutorials/26871940-connecting-to-network-storage-at-boot

Best regards

Tom

Christian says

  1. October 2019 at 23:43 Hello Tom, I have set up Nextcloud on an Odroid N2 with Debian buster. The data is stored on two 1TB SSDs in Raid 1. Do you also have problems with files with German umlauts? I just wanted to upload my PDFs from my studies, but I have some files that are causing problems. I learned a lot from this project. Thanks for the recommendation. best regards Christian

Tom Alby says

  1. October 2019 at 09:08 Hey Christian,

no, no problems with umlauts. I hope you get the problem solved.

Best regards

Tom

Nico says

  1. November 2019 at 17:46 Hi Tom,

Thanks for your contribution, that sounds like something I’ve been looking for for a long time May I ask what bandwidth your upload has for the system you described above? The fact that you write that the same speed/faster than GDrive is already a statement, so I just wanted to ask if you are an IT specialist sitting on a gigabit line

Gerhard Treisbach says

  1. November 2019 at 12:55 Hallo Tom,

after I found your article, I ordered the hardware you recommended (ODROID-XU4) via your links.

With an original Ubuntu MATE image from odroid.com I can get the part to work without any problems, but as soon as I try to install the image from your link (NextCloudPi_OdroidHC2_08-01-19 ), the ODROID just stops at boot. No screen output and no assigned IP address.

Can you still somehow find out which version of the NextCloudPI image had that you were using at the time and with which everything ran right away?

Kind regards Gerhard

Chillbird says

  1. November 2019 at 16:02 Hallo Tom,

great articles and the time you have “wasted” with them, readers like me can then save themselves for it. Thank you very much! I would be very happy about an update, especially if you have implemented the automated E2EE backup function to the cloud. To make the system perfect, you could add a hardware RAID array instead of the single disk (e.g. the one for 100 euros: FANTEC QB-35US3-6G), maybe there are even hardware encryption+RAID solutions?

Do you have something like a newsletter? If so, I hereby register

Thank you and all the best for the future, Chillbird

Gabi says

  1. January 2020 at 04:00 “By the way, even if the access URL is a domain, communication is only local in your own home network. So there is no detour via the Internet, even if it may look like it.”

How do you do that? I’m trying the same thing, but the Fritzbox is getting in the way for me…

Mirko says

  1. January 2020 at 16:16 Hello Tom,

there may be a problem with boards of revision 0.1 20180912 . The parts do not boot with the current NextCloudPi image from January 2020. Gerhard Treisbach had the same problem. I tried to install Armbian but have the same problem. Ubuntu Mate runs without any problems.

Regards

Mirko

Tobias says

  1. January 2020 at 08:43 Hello Mirko,

with which revision does Nextcloudpi image run. With the older ones or the newer ones. I would be interested, because I also want to build a NAS right now.

Greetings Tobias

Gerhard Treisbach says

  1. January 2020 at 16:49 Hello, here again Gerhard,

I got the problem with the XU-4 not booting, here is the link to the corresponding thread in the NextcloudPi support forum:

https://help.nextcloud.com/t/nextcloudpi-odroidhc2-12-19-19-does-not-boot-on-odroid-xu4/67322

Leave a Reply

Your email address will not be published. Required fields are marked *