Your submission was sent successfully! Close

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

You have successfully unsubscribed! Close

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

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

Guest

on 5 April 2018

This article was last updated 5 years ago.


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.

smart start

IoT as a service

Bring an IoT device to market fast. Focus on your apps, we handle the rest. Canonical offers hardware bring up, app integration, knowledge transfer and engineering support to get your first device to market. App store and security updates guaranteed.

Get your IoT device to market fast ›

smart start logo

IoT app store

Build a platform ecosystem for connected devices to unlock new avenues for revenue generation. Get a secure, hosted and managed multi-tenant app store for your IoT devices.

Build your IoT app ecosystem ›

Newsletter signup

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's Privacy Policy.

Related posts

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

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

TurtleBot3 OpenCR firmware update from a snap

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....

A look into Ubuntu Core 24: Your first Linux-powered Matter device

Welcome to this blog series which explores innovative uses of Ubuntu Core. Throughout this series, Canonical’s Engineers will show what you can build with...