It’s Open Source Week at SitePoint! All week we’re publishing articles focused on everything Open Source, Free Software and Community, so keep checking the OSW tag for the latest updates.
File storage services like Dropbox, Google Drive and OneDrive are very popular these days. They automatically sync your files to the cloud and across your various devices, making your data highly accessible and ensuring that it’s not easily lost.
They offer a certain amount of free storage, but if you’re looking to store most or all of your files online, you’ll need to pay for them. Their fees are not particularly high, but still, it would be nice to have a free alternative.
Fortunately, there are alternatives. One of them is Nextcloud, an open-source alternative to Dropbox and the others that you install and maintain on your own server.
Let’s take a look at some of the reasons to consider using Nextcloud.
What’s Wrong with the Big Players?
It’s reasonable to ask why we should bother setting up something on our own server when services like Dropbox and Drive are so easy to use. They’re basically plug-and-play, and are supported and maintained by large companies that have a stake in providing a secure and reliable service.
They do have downsides, though. Of course, there are the fees, which are fixed, not tailored to everyone’s needs, and could change at any time.
By using them, you’re also entrusting your data to companies that don’t entirely deserve your trust. They can mess with your data at any time, if they so choose, as highlighted in Apple’s terms and conditions:
Apple reserves the right at all times to determine whether Content is appropriate … and may pre-screen, move, refuse, modify and/or remove Content at any time, without prior notice and in its sole discretion …
They could, of course, just shut down. (That doesn’t happen often, but it does happen.) They can also get bought out. Remember Sunrise calendar? Exactly what they did with their calendar app when Microsoft bought them.
Taking Back Control
Nextcloud is a cloud software alternative that gives you full control over your data. It’s designed for both individuals and organizations with many users. It’s a relatively young project, being a fork of the similar ownCloud project, which is also worth checking out and comparing.
Having control of your own data is pretty attractive, but how does Nextcloud stack up against the commercial players in other ways, such as features and security? Let’s take a look.
Security & custom two-factor authentication (2FA)
On the security side, Nextcloud provides documentation to explain security best practices. Unsafe or controversial functions are strictly refused, and mandatory code is reviewed by two more reviewers to make sure that everything is bulletproof (or as much as it can get).
Furthermore, the Nextcloud authentication system is two factored. Active sessions can be invalidated through the list, by removing the user in the admin settings or by changing passwords. Admins can enable or disable two-factor authentication for users on the command line.
While other proprietary services like Dropbox offer 2FA as well, Nextcloud allows you to “force” enable or disable 2FA for specific members of the organization. With a little bit of tweaking, you can also create your own 2FA provider, to avoid being locked in with a specific 2FA app. Huge advantage for those concerned with security here.
Nextcloud also offers server-side encryption, which is not enabled out of the box (to offer a better user experience for newcomers). Nextcloud servers encrypt remote data, but your local storage operates without encryption by default. It’s important to be aware that the encryption does increase the file size by 35%, which isn’t necessarily a deal-breaker if you’re concerned about security.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
Note: Once enabled, server-side encryption cannot be disabled within the admin dashboard. So be sure to back up user encryption keys regularly. If a key is lost, that data cannot be accessed anymore.
Another feature Nextcloud offers is Federation Sharing, which mounts file shares from remote Nextcloud servers (or other servers which support it, such as ownCloud-powered servers) to create your own cluster of clouds. Imagine this as Folders in Dropbox or Google Drive you are invited to collaborate and have access to. However, in this case it’s using an open protocol, which is compatible with many other providers (such as ownCloud). Mounted Shares will give you direct access to the Folder you are invited to, so your server space won’t be used up for your own copy of files.
This allows for decentralized file sharing, no matter where the data is stored, with flexible admin privileges to set individual user permissions. You can use a Federated Cloud ID to share files with fellow Nextclouders based on your username (for example:
Server Information App
With the server information app you can also check the performance of your Nextcloud Server. This can come in handy for troubleshooting or making improvements on your server. The app is part of the Nextcloud installation, so you don’t need to install anything manually to use it. It lets you track:
- CPU load and memory usage
- number of active users over time
- number of shares in various categories
- storage statistics
- server settings like PHP version, database type and size, memory limits and more.
Installing Nextcloud on your own server
It’s surprisingly easy to install a Nextcloud instance on your own server, regardless if it’s a shared host or if you have root access to it. We won’t go too deep into the process here, but if you’re not comfortable with the command line, there are also user-friendly drag-and-drop options. (This makes sense, as a solid open-source alternative preferably won’t scare the average user away.)
Check out the brief installation instructions to install your very own personal cloud instance. It shouldn’t take your more than a few minutes as the process is pretty straightforward.
After that, you might want to install a client for your desktop or mobile, which will be able to access your Nextcloud instance. There’s one available for every platform, and you can even use any other WebDAV client (such as ownCloud) to access your Nextcloud instance.
Nextcloud gives users a wide range of opportunities to customize it based on their needs. Nextcloud Apps work like browser extensions, except that some of them enable core functionalities (such as Mail, Calendar, Contacts, etc.). You can try developing your own apps as well.
To cater to users who want more control over their data, without going through the hassle of system administration, Nextcloud partnered with Canonical and WDLabs to come up with the Nextcloud box, a private cloud and IoT solution for home users. The box is made of a WDLabs’s 1 TB USB3 hard drive powered by a Raspberry Pi 2. Snappy Ubuntu Core is the default operating system installed on the microSD card. On the server side, it runs with the Apache web server, MySQL, and the latest Nextcloud version.
The box serves as a small local server for your home network. By default, the Nextcloud Box only works on the network it’s connected to (like your home LAN). It requires configuration of encryption (https) and router ports to reach it from outside your home network.
Some use cases the Nextcloud box could fit right into would be a shared local network within a family, where everyone has access from every device. It seems to be also a solid jumpstart for small startups or teams to use within their physical space to share files with each other. A big plus point here is that one would actually know where their data is in physical space, rather in some big data center of Amazon in the desert. However, the box is not an all-round solution, but rather a reference device to show off Nextcloud’s capabilities.
The Nextcloud box sets you back $80 (Raspberry Pi 2 not included) and can be ordered from the Nextcloud website.
Upcoming Nextcloud features
Nextcloud 11 is scheduled for release in December 2016 with various new features, setting it further apart from its predecessor, ownCloud. Among them:
- user Social Media Buttons
- user mentions in comments
- share by email
- move file/folder
- share current folder
- shared previews
You can track all the features the Nextcloud team is working on by watching the GitHub repo.
Does Open Source Offer the Next Cloud Solution?
Switching to an open-source file sharing option may or may not be the right choice for you or your business. It’s important to weigh up the pros and cons of the open-source and commercial options and work out what’s in your best interests overall. Suffice it to say that open-source file sharing tools are a viable and attractive option for many individuals and businesses.
Nextcloud has been able to improve upon what ownCloud has to offer in a number of respects. The own/Nextcloud comparison happens quite often still, but as Nextcloud rolls out more of its own features, it will take its place as an established standalone project. Hopefully the features being rolled out will continue not only to be cutting-edge but also user-friendly and intuitive.
Given that these open-source options are free to use and experiment with, there’s no danger in giving them a try. So what do you think? Does this sound like an attractive option, and would you consider making the switch? Or have you taken the plunge already? If you have, please tell us what you’ve found in the comments.
A graduate in International Affairs & Diplomacy, Kristi is Chairwoman of Open Labs Hackerspace, a community in Tirana, Albania dedicated to everything Free & Open Source. She is currently a Mozilla Tech Speaker and Intern as part of the Outreachy program, which aims to offer opportunities to underrepresented groups in Open Source communities. As part of the organizer team, she helps shape the OSCAL conference.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers