After using it as my primary file-sync and backup service for about 10 months I’ve concluded Owncloud still requires an hour or so per month for a tech-oriented person, but it’s worth it. With enough persistence, and tolerance for some lingering quirks, Owncloud could work for you; whether or not you know how to setup a server.
Disclosures by Edward Snowden and limits to Dropbox’s free accounts have made Owncloud an increasingly tempting option. Whether Dropbox, Apple, or any other 3rd-party-cloud claims they cannot read our data the biggest players all still control the software which handles the keys. So if they get curious or a government warrant appears then they can always push an update to read whatever we have not encrypted ourselves. This didn’t particularly concern me as I’ve little to hide from the authorities. But every well-intentioned backdoor has the potential to be exploited by less trustworthy types. Dropbox’s 2G limit (16G with enough referrals) also proved limiting as my collection grew.
So around December last year I began trying to self-host Owncloud with a Raspberry Pi and Owncloud version 5. Since it lacked authentication logging I had to add it manually. Thankfully more recent versions already have this built-in. It worked well enough–if slowly at times–for the first few months.
Once my wife began using the server along with me problems started cropping up: disappearing files, logs complaining about locking, and upgrade trouble. This was around version 6.0.x, and Sqlite seemed to be the culprit as it’s not intended for multiple users. Manually migrating to Postgresql did the trick; things were back to normal. Version 7 should include official support for Sqlite-to-Postgresql migrations.
If you’re working with a lot of different files often then Owncloud feels a bit slower to sync than Dropbox; though, it’s not perfect either. Pauses or network outages also seem slightly more disruptive to Owncloud.
Another caveat is that both Dropbox and Owncloud don’t work very well with Git clones. They’re slow to sync because of the many files involved, conflicts can get messy, and file locking can get in the way. So if you’re working with projects checked out of Git then you’d be wise to keep your clones in a non-synced folder. Checking in often or backup another way should suffice. If not then Gitlab is a popular, self-hosted alternative to keeping local-only clones.
Each major release of Owncloud brings welcome new enhancements, and aside from my Sqlite issues, the upgrades have been relatively painless. I’d definitely recommend it for a business of any size or technical individuals. Perhaps some packaging tools or OS distributions can make the process easy enough for even the most basic user to get their own cloud.
Update: Owncloud’s client now makes selective sync much easier, and it has coped with my careful selection arrangement nicely. Also, there is a alternative known as Seafile which transfers multiple files more quickly than Owncloud while also offering self-hosting.