Today Cloud Storage is ubiquitous. It’s everywhere and most people use one provider or another whether they realise it or not. There are a great many providers to choose from, providers like Google Drive, Dropbox, Box, SpiderOak and Microsofts OneDrive and I’ve tried each and every one I’ve encountered. My requirements are very specific and so personally I chose Copy because they provided the best coverage in client OS support, specifically Windows, Android, iOS and Linux, and their sync speed was excellent.
I’ve used Copy since they first started and have been very happy with their service, in fact I was delighted that their Linux client supported GUI and terminal installation as well as supporting the Raspberry Pi. I’ve never been overly happy with hosting my data with a 3rd parties ever since Google shut down Google Reader, which I used quite heavily and I now run a self-hosted Tiny Tiny RSS installation for collating all my news feeds into one handy location, but never really considered self-hosting Cloud Storage as feasible. I had always thought if the provider I used shutdown I would simply move but reckoned with Barracuda Networks as its parent Copy would survive. So with Copy’s clients embedded in my home network syncing backups, photos, music and source files between servers and clients everything was running smoothly. I was happy my 3-2-1 backup solution was in place and working. I could easily test restoring backups on separate VMs to ensure all my data was safe, or so I thought.
Unfortunately on February 1st Barracuda Networks announced the demise of Copy. Honestly I shouldn’t have been surprised, a lot of Cloud Storage providers come and go so Copy’s demise was almost guaranteed in a weird, twisted kind of way. However it did leave me in a bit of a bind. I started evaluating all the options available and found none provided all I needed and so I began searching for a self-hosted replacement.
The main reason I used Cloud Storage was backups, backups, and more backups. I can never have enough. Whether it’s backups of the photos of our girls growing up or the latest MariaDB dumps from my web server I need to have 3 copies, 2 physically at home (separate media) and 1 offsite copy. Copy used to provide the offsite backup but this time around I decided to switch things around a bit. Being a geek I decided to see what spare hardware I had lying around and see what I could put together as a reliable self-hosted solution for all my file serving needs. Relying on all the clients syncing to different Cloud accounts was handy but ultimately futile. The amount of Cloud Storage actually required is rather small (10’s of gigs rather than 100’s or 1,000’s of gigs).
To that end I setup a server running Debian with OwnCloud as the Cloud Provider. OwnCloud has met all my requirements so far but I’ll be continuing to evaluate it as I add more data over time. For now all the clients and servers now sync to the OwnCloud installation and nightly all the data is rsync’d to another server (Raspberry Pi). All the important data i.e. Photos, Source Code, MariaDB dumps and server configs, although not Music as this can easily be recovered from iTunes, etc, are then compressed and encrypted into a single output file. This encrypted backup file is currently sync’d to a single Dropbox account, which can easily be replaced if Dropbox ever go out of business; until a more appropriate and/or secure remote backup location can be found.
This may all seem a little extreme but the outcome is actually quite positive. I’ve setup a nice home server which ensures all the files are synchronised properly. Data integrity has been added via SnapRAID using 128-bit checksum and parity checking to prevent bitrot something I’d never considered before. The remote backup is entirely flexible now and not reliant on a single vendor and as long as my harddrives are alive my data is always accessible. So in many ways Copy’s closure is the best thing to happen to my data to date.
In future posts I will detail exactly how I setup my home server and backup solution, including making it available securely on the internet over HTTPS with dynamic DNS support.
For now I breathe a sigh of relief knowing my 3-2-1 backup solution is back in action and more importantly back under my direct control.