We use cloud based services for so many things these days. Storage, for example, is one of them. Popular names that come to mind include Dropbox, Google Drive and OneDrive. You probably use some or even all of them. I use them too, but I prefer to have my own private cloud storage. Are you like me?
There are a couple of reasons why people may want to own their own cloud storage. In the past, price could be a reason. Most cloud storage services offer a free service tier, but that free capacity tends to be not big enough.
Upgrade options used to be not so cheap, but nowadays, it’s become quite affordably priced. Dropbox currently charges US$99 per year for 1TB of space. Microsoft offers 1TB of OneDrive capacity with Office 365 subscription (could be as cheap as S$108 per four years for Office 365 University edition, or S$98 per year for Personal edition). I don’t like paying a recurring subscription, but this is something we mostly have got to get used to.
A bigger concern for me is about owning, controlling, and taking responsibility of my own storage. One aspect about it is to do with security and privacy. I don’t want to have to trust Dropbox, Google, or Microsoft. When you store your content with them, they can read your stuff. Malicious attackers who have hacked into their systems can also read your stuff.
There are simple, but not perfect, solutions. First of all, you can encrypt your important files. If everything is important, you can always create an encrypted virtual disk image that’s stored in the cloud storage. Now, this is not ideal to me, because there’s no easy universal solution to get access into the decrypted content from all the different devices that I use.
The solution, for me, is to simply own and run the cloud service. Now, there are two general ways to do this.
- Buy a solution. Examples: Western Digital’s My Cloud storage appliances. They are really cool. I’ve reviewed a high-end My Cloud EX4 peviously.
- Build your own solution.
Building your own solution is what I want to talk about here. It’s my choice. I’ve blogged a few times about building my own home NAS, and that recently I’ve gone to build a Btrfs storage array. My NAS runs SMB/CIFS (the Windows file sharing protocol) and AFP (the Mac file sharing protocol). All this is good for sharing files within my home network. I can also access my NAS, via a VPN, from outside home.
The NAS, however, doesn’t provide file sync capabilities. A NAS requires online access to the network. The beauty of solutions like Dropbox, Goole Drive and OneDrive are that they are file sync solutions. A folder on your computer is synchronised with the cloud. When you’re offline, you still have local access to the folder. You can modify files, create files and delete files. When you’re back online, changes are sync’ed back to the cloud. You can also keep folders on multiple devices synchronised.
Now, you can’t install your own private Dropbox server. You can’t do what with Google Drive or OneDrive too. However, there is an open source file sync software available. It’s called ownCloud. OwnCloud has sync clients for many platforms. Windows, Mac OS X and Linux are covered, as are Android and iOS mobile platforms. Their official Android and iOS clients are paid apps, but they are just nominal cost.
I won’t write about installing ownCloud in this post. But suffice to say, it isn’t too difficult, and there are tutorials you can find on the Internet.
OwnCloud is really fun. With it, I sort of have my own private Dropbox server, completely owned by me. OwnCloud has a number of tricks up its sleeve, including:
- File sharing, including by passworded link with expiration
- Collaborative editing
- Versioning and undelete
- Calendaring and contacts
Yet more impressive is ownCloud’s ability to pull in external storage from Dropbox, SWIFT, FTPs, Google Docs, S3, external WebDAV servers. In essence, this means you can use ownCloud to federate all your other storages. How convenient.
If you have a bit of Linux and home networking skills, I believe ownCloud will let you build a great private storage cloud for all your devices.