Decreasing the pain of updating OwnCloud

OwnCloud is a file, calendar and address book storage service that you can run on your own PHP enabled web host. I use it for syncing my calendars (over CalDAV, with Lightning for Thunderbird and AnDal for Android) and my address book (over CardDAV, with Inverse SOGo Connector for Thunderbird and CardDAV-Sync for Android).

However, there’s one major pain point in using OwnCloud: Every few weeks, the project releases a security update that needs to be installed. However, they don’t have any means of notification: There’s neither an “announce” mailing list, nor an RSS feed for updates. I monitor the changelog with changedetection.com, so that I get an email when there’s a new version of OwnCloud.

When you know that there’s an update, you still need to install it. This isn’t done automatically with a single click like in WordPress, so you have to follow a procedure as outlined in the OwnCloud Administrators Manual. Previously, I needed to look it up every single time, so I wrote a shell script to automate some of it:

#!/bin/bash

if [ -z "$1" ]; then
        echo "usage: $0 owncloud-x.y.z.tar.bz2"
        exit 1
fi

tar xvf $1
sudo rsync --inplace -rtv owncloud/ public/owncloud/
rm -r owncloud $1

Prerequisite: The running owncloud instance is located in public/owncloud/, relative to the directory from which you run the script. Change the script as you need it.

You use like that:

$ wget http://download.owncloud.org/community/owncloud-x.y.z.tar.bz2
$ ./update-owncloud.sh

Afterwards, you need to open your OwnCloud instance in your browser to trigger the database upgrade.

That’s it!

2 thoughts on “Decreasing the pain of updating OwnCloud

    • Thanks! I wasn’t aware of the OpenSUSE build service packages. Packages for other distributions can be found here: Build Service – ownCloud

      However, I recently migrated to Uberspace (pay-what-you-want shared hosting for the German-speaking Linux savvy) where I can’t install my own packages anymore.

Leave a Reply

Your email address will not be published. Required fields are marked *