cover image

Snap updates: automatic rollbacks

When researching snaps, one of the main advantages everyone talks about is the fact that they’re transactionally updated. That is, an upgrade either succeeds or fails, it doesn’t leave the snap in a broken state. If you have snap “A” installed and an update for it is released, it’ll automatically update. If that update is somehow broken, the snap will roll back to the previously-working revision. However, no one has really talked about how that works....

December 12, 2016 · 7 min · Kyle
cover image

Ubuntu Core on VirtualBox

If you read the official Ubuntu Core docs, you’ll see that the recommended way to run Ubuntu Core virtually is with KVM. However, it’s probably even easier to use it in VirtualBox, and I’ve been getting some questions about that, so I wanted to devote a quick post to it. Prerequisites: A Linux machine (using Ubuntu 16.04 here). This guide will work on Windows as well, but the command invocations are a bit different and I don’t have a machine on which I can verify them before suggesting them....

November 21, 2016 · 2 min · Kyle
cover image

Snapping Nextcloud: Nextcloud itself

In the previous post of this series, we discussed the process of and lessons learned from building Redis for the Nextcloud snap. That means we’ve covered all the major pieces except for Nextcloud itself, so for this post that’s what we’ll focus on getting that into the snap. As I mentioned previously, Nextcloud is a PHP application. As such, it’s not difficult to get working with Apache or MySQL. However, it was written in such a way to make its deployment as easy as possible (e....

June 25, 2016 · 5 min · Kyle
cover image

Snapping Nextcloud: The memcache

In the previous post of this series, we discussed the process of and lessons learned from building MySQL for the Nextcloud snap. The last piece of infrastructure we need to introduce is the memcache, for which we’ll use Redis. Nextcloud supports a number of memcache backends; I chose Redis because it can provide both a local cache as well as file locking, so for this post that’s what we’ll focus on getting into the snap....

June 24, 2016 · 2 min · Kyle
cover image

Snapping Nextcloud: MySQL

In the previous post of this series, we discussed the process of and lessons learned from building PHP 7 for the Nextcloud snap. Nextcloud supports a number of databases, but they recommend MySQL (the v9 docs that I used when making this decision are lost to the dust of time, but MySQL is still the recommended option in v21), so for this post that’s what we’ll focus on getting into the snap....

June 23, 2016 · 4 min · Kyle