Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

  1. Blog
  2. Article

Guest
on 5 April 2018

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


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.

Related posts


Rhys Knipe
12 June 2024

Space pioneers: Lonestar gears up to create a data centre on the Moon

Canonical announcements Article

Why establish a data centre on the Moon? Find out in our blog. ...


Canonical
19 November 2024

Canonical provides the ideal platform for Microsoft Azure IoT Operations

IoT Article

London, 19 November 2024. Canonical has collaborated with Microsoft as an early adopter partner and tested Microsoft Azure IoT Operations on Ubuntu Core and Kubernetes, which is notable as Microsoft today released Azure IoT Operations, a unified data plane providing significant improvements in node data capture, edge-based telemetry proce ...


gbeuzeboc
25 September 2024

TurtleBot3 OpenCR firmware update from a snap

IoT Article

The TurtleBot3 robot is a standard platform robot in the ROS community, and it’s a reference that Canonical knows well, since we’ve used it in our tutorials. As a matter of fact, we use it to demonstrate some of our work, such as distributing a ROS stack through snaps. This robot embeds two boards, a ...