The Nextcloud Box: a review of building an IoT device with snaps



on 5 April 2018

In 2016, Canonical, Nextcloud and WDLabs introduced the Nextcloud Box, the first IoT style device running with snaps out of the box. Besides sales of nearly 2K boxes before Western Digital shut down their research division WDLabs late last year, the snap been extremely popular with some days hitting over 10,000 downloads. Its installed base is estimated to be over 8000, making it a popular way to run a private cloud. Read our guest blog by Nextcloud’s Jos Poortvliet on to learn more about Nextcloud, the Box and how snaps help thousands of Nextcloud users keep their data under their control.

Introducing Nextcloud

Nextcloud offers a self-hosted file sync and share solution combining the convenience and ease of use of consumer technologies like Dropbox and Google Drive with the security, privacy and control businesses, providers and home users need. Users gain access to their documents and can share them with others at home, within and outside their organisation with an easy to use web interface or clients for Windows, Mac, Linux, Android and iOS. Nextcloud also features Calendar, Contact, Mail, Online Office, private audio/video conferencing and other collaboration capabilities, with many more provided by a healthy ecosystem with over 100 apps developed by a variety of third parties.

But self-hosting is a challenge and not one every user is up to. Actually, very few are. When we started Nextcloud in 2016, we saw this as a major concern and sought solutions.

Introducing a Nextcloud snap: The Nextcloud Box

Together with Western Digital, we came up with the idea to develop an appliance, the Nextcloud box, that would give home users with little technical knowledge an easy way to run their private cloud. It consisted of a hard drive, cables and a case, to be completed with a Raspberry Pi. But it needed an operating system. Something secure, something easy to use. Something that doesn’t require users to go in and run updates from a command line! Ubuntu Core with snaps was the obvious solution.

Snaps provide what an appliance needs: unattended running & updates, keeping the device secure at all times without forcing users to learn how to administer a Linux system.

Together with help from the Ubuntu community and Canonical engineer Kyle Fazzari we quickly got a snap together for the Nextcloud box, enabling us to go to market in a record time. This is certainly a testament of how easy snaps are!

You can watch a webinar about the quick go-to-market with Snaps for the Nextcloud Box here

More snaps

But there was a bigger role for snaps to be had. While they provide a great solution for unattended IoT style devices, snaps are also very suitable to ease deployment and management on ‘normal’ Linux systems.

First of all, snaps solve the cross-distribution conundrum with normal packages – the main reason Nextcloud normally only produces zip files with the raw source code. There are several reasons for us not doing packaging, from the difficulty of doing it right to the problem that users often prefer packages to be part of the distribution. And those would end up quickly out-of-date as distributions tend to have relatively slow release cycles which rarely matches with what our users actually want. We don’t provide security fixes for releases older than about 8-12 months which also is a problem for distributions with a very long release cycle. Snaps solve this by working cross-distribution.

Second, snaps lower the barrier to use immensely by providing a pre-setup solution.  Rather than needing to do the research to pick a web server, database, etc. before getting to a working Nextcloud install, the user is immediately handed a Nextcloud that works, follows best-practices, and is automatically updated. On top of that, the Snap Store makes it easier for users to discover the snap and get it installed.

Last but not least: snaps make maintenance easier. We leave the entire setup of the system to our users and have a built-in updater that makes it easy to keep Nextcloud itself updated. But the rest of the system still has to be maintained by the admin. Snaps feature an easy, reliable, built-in update mechanism.

Getting the most out of snaps

To give our users choice, we offer the various release channels (edge/beta/candidate/stable) in the store and utilise multiple tracks as well. This tends to change as releases occur; an up-to-date view of the current release strategy can be seen hereAs of today, we utilise edge, beta, candidate, and stable, as well as 11/edge, 11/stable, 12/edge, 12/stable, and 13/edge.

All in all, snaps made the Nextcloud Box possible, and for that alone, we are huge fans. But above and beyond that, it lowers the barrier to use for Nextcloud users on every system and users appreciate this greatly.

Internet of Things

From home control to drones, robots and industrial systems, Ubuntu Core and Snaps provide robust security, app stores and reliable updates for all your IoT devices.

Newsletter signup

Select topics you’re interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

Snapcraft parts & plugins

Last week, we published Introduction to snapcraft, a tutorial that provided a detailed overview of the snap build process. We touched on the concepts like snap ecosystem components, snapcraft command line, snapcraft.yaml syntax, and more.…

Design and Web team summary – 10 May 2019

It was another busy iteration for the web and design team, trying to get a lot of work wrapped up before we head off to Lyon, France for our 19.10 Roadmap cycle kick-off.

Introduction to snapcraft

First steps are always hard, especially in technology. Most of the time, you need a primer, just the right dose of knowledge, to get started with a platform. This tutorial and upcoming sequels are designed to provide developers with…