The word cloud is being trumpeted far and wide these days, leading some to believe it’s nothing more than a marketing blurb that Silicon Valley likes, and with good reason. It would not be the first time that the media and industry analysts get enamored with something that doesn’t catch on or was meant to last. There are, however, a few aspects of the cloud that I really like, and being able to synchronize my files across all my devices is definitely one of them. A couple of years ago I had even tried to host my own cloud, with wobbly results, most likely due to my inexperience with networking at that time. German company Nextcloud wants to bring private secure cloud storage to the masses with the release of their Nextcloud Box, a device developed in conjunction with Western Digital, who provides the hard drives shipped with it. Can this small, squared device be worth the investment it demands?
Aesthetics, assembling and packaging
The Box that was shipped to me came in a box (see that incredibly smart pun? Hah! Uhm, sorry) with no branding at all. I suspect this is due to the fact that it was a free sample provided to the media. If not, that would be a real bummer. Inside it, girded in bubble wrap, was the enclosure itself with the hard drive fastened to it via four screws, a three-way USB cable, a leaflet containing instruction on how to first login to the device, a 4 GB microSD card, a tiny screwdriver and four smaller Torx screws that I guess should have been kept inside the same plastic bag the microSD came in, but for some reason weren’t and fell to the ground when I first tried to unpack everything, leading to me having to crawl across the ground to recover the four preciouses. Myyyy precious. I also received a Raspberry Pi 2 (although the retail product doesn’t come with one) and a few stickers that rub my childish side in ways that I’m too proud to acknowledge. But fuck it, it’s free STICKERS! Yeeeeeeh! There were no instructions coming with the device, except for the leaflet I already mentioned. In order to get help with the setup, the user is supposed to go to the project’s Wiki on GitHub. Unfortunately, the leaflet doesn’t tell this anywhere.
Compared to similar products, the user is supposed to install a Raspberry Pi 2 she already owns. In that regard, the Nextcloud Box is not a plug and play device, for it requires some manual assembling before the first boot and a bit of command-line work after that. This means that the actual pricing is around 110 €, when one adds the price of a Raspberry Pi single board computer. Still not bad, considering that most NAS devices with cloud functionality start at about that price diskless. The Box is also hardware-compatible with the Raspberry Pi 3 and the ODROID C2, although the software support for those two single board computers isn’t there yet (although it’s planned for the future).
When I first unboxed the device and let the hard drive loose, I put everything on the table in front of me and started staring at it for about 30 minutes (I’m not kidding!), scratching my chin and trying to figure out how I was supposed to assemble it all. Then I gave up and downloaded the instructions from Nextcloud’s website. After reading them, everything became clear and in all honesty, I felt kind of dumb to not have figured it all out on my own. But at any rate, the assembling process required less than 10 minutes in total. Power is delivered both to the Raspberry Pi and the hard drive through the three-way USB cable. I noticed a couple odd choices in the Box’ design. First of all, the cable that delivers power to the Raspberry Pi comes out from the case. And no, I didn’t make mistakes during the assembly process: it’s this way by design. As a consequence, the left side of the device exposes the power input and the HDMI port, but not the Ethernet and USB ports. This is all rather odd: a computer that works as a server isn’t generally meant to be connected to a monitor, but one may want to connect USB devices to it, like additional storage. The only way to do this is by running one or more USB extension cables or hubs out of the device, which doesn’t really help with cable clutter (which has always been an issue with the Raspberry Pi). The good news is that if one wants to make a tiny desktop out of the Nextcloud Box (like I intend to do for fun), it’s possible to connect it to a monitor and just use a wireless USB keyboard and mouse set. One really cool feature of the Box is that it only requires screws to hold the hard drive and the Raspberry Pi in place, but the upper cover does not, as it is secured by three magnets that make opening and closing it a real pleasure.
When fully assembled and connected to a power source, the Nextcloud Box is a translucent black square with the white HDD blinking under the cover and the red power led on its right side. It’s actually very elegant to look at. But then I did the Melania Trump expression. I had seen this enclosure before and, sure enough, it’s a custom version of the WD PiDrive case. This makes a whole lot of sense, since Nextcloud claims the Box was designed in partnership with WD.
When first connected to a power source, the device installs the operating system and all the files it requires to provide cloud functionality onto the hard drive. The whole process takes about 10 minutes. When everything is ready, it’s time to start configuring the device. As a security measure, the Nextcloud software only allows to log into the system by a trusted domain. The name domain is a bit misleading, since it not only refers to domain names, but also IP addresses. For this reason, it’s best to assign the device a DHCP reservation from the router’s administration page in order to assign the same local address every time the device is rebooted. After that, one must configure the device as a virtual server, point ports 80 and 883 to it and, if one does not have a static IP (I don’t), configure a managed DNS solution. It’s quite a bit of configuration required, similar to that needed to configure similar devices. After that, one needs to log into the device through SSH, either through Linux’ or MacOS’ terminal or via Putty and start the configuration proper by following the instructions on the project’s wiki. In all, the entire process took shy of a couple hours. Definitely not quick, but everything worked flawlessly in the end.
A closer look at the hard drive
The hard drive that comes with the Nextcloud Box isn’t your run-of-the-mill SATA device you can find in your laptop or other computers. Even though the Nextcloud website doesn’t tell anywhere, it actually is a PiDrive, designed specifically for use with the Raspberry Pi. Instead of a SATA connector, it has uses USB 3.0. I’m not really sure as to why this is, since the Raspberry Pi only has USB 2.0 ports.
When connected to a Windows computer, the PiDrive is recognized as a My Passport 25A0, a hard disk model that’s commonly found in the My Passport Ultra lines of USB 3.0 hard drives. I decided to run a performance benchmark using a free utility called HD Tune. I’m actually quite impressed with the performance this 2.5″ hard drive can achieve when connected to a USB 3.0 port of a computer. It’s no 3.5″ disk performance levels, let alone SSD levels, but it’s definitely usable, with an average writing speed of 87.8 MB/s. When I connected it to a USB 2.0 port, however, things changed considerably, with writing speeds more than halved. It stands to reason that WD developed the PiDrive using off-the-shelves components they already had in their possessions, selling it even though the Raspberry Pi can’t really take advantage of all the performance it offers. It’s rather strange, however, that Nextcloud has planned support for the ODROID C2, but not for the ODROID XU4, which actually has USB 3.0 ports. The chart below shows a comparison between the PiDrive/My Passport connected to USB 3.0 and 2.0 ports and a 3.5 WD Blue 1 TB hard drive.
Users can log into Nextcloud via a web browser by typing in their username and password. The login screen does not allow new users to register. This makes sense, since Nextcloud is a private cloud and account provisioning is performed by the administrator, who creates, edits and deletes accounts on a per-needed basis.
Besides logging in from a browser, Nextcloud also comes with clients for desktop operating systems (for Windows, MacOS and Linux) and mobile (Android and iOS). All desktop clients and the Android one are free to download, whereas the iOS version costs 0.99$. The good thing about the clients is that if the Box is in the same local network as the client computer, all data synchronization takes place inside the local network itself, making for very fast uploads and downloads, the only limiting factors being your Wi-Fi speed and the 100 Mbps port on the Raspberry Pi. Things change when you’re connecting to the Box from an external IP: in that case, you’re going to be limited by your ISP’s upload speed, in some cases even severely.
One thing that doesn’t fully convince me is the lack of support for a second hard drive to use in a RAID 1 array: we all know that hard drives don’t last forever, so I would recommend backing up your Nextcloud data periodically over your network, just to be sure the hard drive doesn’t crap out all of the sudden. Replacement drives are also expensive: the same drive that comes with the Box costs about 65 €, which is a steep price indeed.
The web interface can be accessed by typing its URL, provided that you added it to the list of trusted domains. The first time you connect to it, you’re asked to create an administrator account by inserting the username you want to use and choosing a password. A small bar on the bottom of the text box tells you how strong the password you chose is. After that, it’s possible to start editing how the cloud should behave, like customizing its appearance, setting a limit to upload sizes, and so on.
The web interface allows for editing text files, but does not feature functionality for viewing or editing documents. There is a plugin that adds support for creating ODT files and editing ODT and DOCX files and I suggest you install it if you intend to edit documents from your browser. The editor is fairly simplistic, but good enough for casual usage when you don’t have access to Word or LibreOffice Writer. A very welcome feature is the ability to collaborate on the same file and to comment on it.
There is a handful of plugins that extend Nextcloud’s functionality. Most of them are meant for very specific use cases, while others, like the one I mentioned before. There aren’t all that many available as of now, but hopefully support for plugins will improve in the future.
There is one thing where the web interface has an advantage over the client application, and that’s the ability to share your files via a link, accessible by clicking the share icon next to the file name and checking the box titled Share link.
The advantage of running your own cloud at home, beside the fact that you won’t have to trust third parties with your sensitive data, is that it’s less expensive than paying a yearly fee for the “privilege” of storing your data in the cloud. Sure, it has an initial cost of 110-120 € (depending on the price you manage to purchase the Raspberry Pi 2 at) which is higher than most cloud services fees, but this is a one-time cost and the recurring costs are paid monthly or bimonthly on your electrical bill. To figure out how much electricity the Nextcloud Box draws, I used this USB multimeter. The Box drew 0.7 A at most and 0.3 most of the time. The voltage was stable at 5 V the whole time. Since this is a DC device, figuring out its wattage is trivial, for we only need to multiply the current times the voltage.
When idle, power draw for the Nextcloud Box was 1.5 W and 3.5 W under load. Let’s ignore the power consumption at idle and assume that the Box will run under load at all time during the course of the year. This isn’t a real use case, but a worst-case scenario where the device is always drawing the maximum amount of electricity it can. 3.5 W times 24 hour times 365 days is 30,660 Wh per year, or 30.66 kWh per year. We know from Eurostat data that the average price for energy for households is 0.221 €/kWh, so the annual cost for running a Nextcloud Box 24/7 at full load for a full year is on average 6.78 €. That’s not too bad at all.
The Nextcloud Box: not for everyone, but a pretty good product
The Nextcloud Box is definitely an attractive product for people who, like me, don’t mind some tinkering with their computers in order to get something set up and running. Once configured, it actually works quite nicely, even though my Internet upload speeds aren’t the best and require me to have some patience when connecting from an outside network. I’m really not sure if I would suggest a non-techie to get one. Sure, once one is past the initial (admittedly rather steep) learning curve, the Nextcloud Box is a pleasure to use. However, I must wear the non-techie’s shoes and be intellectually honest: would have I even attempted to configure a Linux device when I had no previous Linux experience? And the answer is inevitably no.
More often than not, the end user doesn’t want to type in commands she doesn’t understand on the command line to get things running. And this is even more true in the case of people who intend to use such device for work: they want something that “just works” as soon as you plug it in and the Nextcloud Box isn’t one of those devices. But then again, if you don’t mind investing an afternoon trying to learn the commands required to set it up, for the price it’s offered at, this product is very solid and will more than likely satisfy your expectations. As I see it, the Nextcloud Box is a good starting point for private cloud devices: a hypothetical version 2 that offers RAID support and doesn’t straight-out block USB ports and is easier to configure will almost surely be the ultimate private cloud device. But for the time being, it’s hard to do better than the Nextcloud Box.