OwnCloud - A Worthy Google Drive Competitor

TLDR;

OwnCloud is a great tool, it's easy to setup and maintain, and best of all -- it's free. If you're worried about hosting sensitive information on someone else's servers in the cloud, it can definitely give you some peace of mind knowing that your files are kept on your server, and nobody can access them but you. However, Google's datacenter is infinitely more stable than my old desktop computer running in a closet. I don't have dual-redundant power supplies, redundant UPSs, redundant storage controllers, or a fault-tolerant RAID configuration. Not to mention, running a personal server 24/7 can eat up electricity. It won't be an unmanageable amount, but it certainly costs more than the $2/month I'm currently paying to Google. Unless you're a techy that likes to tinker, or are uber-worried about security, it might just be easier to use Google Drive.

Getting Started

I've been using Google Drive for my day-to-day cloud storage for at least the last two years. It's more than exceeded my expectations, and I've never run into any issues with it. It just works. It gives me instant access to my files wherever I'm at, especially my KeePass database, which I find myself needing often. At one point, I found myself starting to reach the limit of my free 15GB, so I upgraded to the 100GB of storage for $1.99/month. I might be a tight-wad, but even I can afford that.

However, being the techy that I am, whenever I hear about a new piece of software (not that OwnCloud is 'new' per se, it's been around a while) I just have to give it a try. Plus, OwnCloud would provide me with the added benefit of hosting my own content rather than placing it on someone else's servers where prying eyes may potentially be.

So I grabbed an old desktop computer that I had sitting in the closet, loaded it up with a Hyper-V instance, and then spun up an Ubuntu 15.10 Server VM with a LAMP stack.

The install proved to be super simple. Once you've got a Linux box ready to go (I prefer Debian based distros, but you can easily install it on CentOS or another of your choice), it was as easy as adding the OwnCloud repo and then typing sudo apt-get install owncloud. It will install all of the dependencies, if you don't have them already, such as PHP and MySQL.

As there are already hundreds of guides on the Internet on how to install and configure OwnCloud, I won't bother typing all that up, but this is a good guide to check out. It's slightly outdated, but the steps mostly apply.

Once everything was set up, I downloaded the Mac client (Free) and also the iPhone app ($0.99 on the App Store). I then started copying files over to the OneCloud directory, and the desktop client automatically started to sync my files up to the server.

Syncing was decently quick, although it would've been nice if it were faster. Copying over 50GB of files took about 4 hours in my environment, but I'm pretty sure I've got some network latency that I need to fix, but just haven't had the time to fix yet. It could also be that I didn't allocate enough resources to my MySQL instance. Because each individual file has to be indexed and then entered into the MySQL database, that might have been the bottleneck.

The web interface is really slick and well-polished. It's very similar to Google Drive in the fact that you can quickly traverse through a folder structure and move or delete things as you need. You can also share an individual file or folder with another OwnCloud user that you set up on your server, or you can make the folder public and provide a link to someone who doesn't have any user permissions at all.

Other Notes

  • OwnCloud seems to struggle with lots of little files. Single, large files sync up quickly, but folders containing lots of little files seem to take longer to sync. Setting up a proper memcache helps with this.

  • SQLite is the default database set in place. DO NOT use this. Use MariaDB or MySQL.

  • It's a bummer that the iPhone App isn't free (I'm not sure about the Android app), but I can splurge and pay $0.99.

  • If you're running apache, folder permissions must be granted to the www-data user.

  • For security purposes, you have to grant specific domains access to your OwnCloud environment. If you're having problems connecting through the app, check this. You can add new domains through editing the config.php file under the "config" folder.
  • Conclusion

    Ultimately, I think I'll stick with OwnCloud, at least for a little while. It's easy enough to configure and maintain. I don't have any super-sensitive data that I'm not comfortable hosting out on Google Drive, but I figured I'll get familiar with this system anyway.

    As I mentioned above, I think Google Drive is really a better deal. If you have less than 100GB of stuff to store, the $2 is really a steal. When you calculate in the cost of everything you get with Google, it's really the better deal. Google has a massive datacenter with state-of-the-art equipment that will be quicker than what most users have at home. They also have redundant power supplies, storage controllers, UPSs, and fault-tolerant RAID configurations to ensure that your data stays intact. That's not to say you can't set all of that up yourself at home, but the cost for that will never be returned compared to just hosting it on Google's servers.

    If you require more storage than 100GB, or you're a small business that needs upwards of a few terabytes in storage space, you might be able to regain your cost back quicker. Google's 1TB storage plan costs $9.99/month and goes up to $299.99/month for 30TB of storage space.

    Overall, I've been impressed and highly recommend OwnCloud. However, if you want a no-fuss storage system, stick with Google Drive.