Cloud storage is extremely useful, enabling you to access your files from any device, wherever you are. The downside is that since your data is held on remoted servers by a third-party company, you don’t have total control over its security and privacy. In addition, cloud providers may well charge you for extra storage.

One alternative is to host your files on your very own cloud server running on a Raspberry Pi computer in your home or office. But which self-hosted platform should you use? We explore the three main options for Raspberry Pi cloud storage: Nextcloud, ownCloud, and Seafile.

Nextcloud

NextCloud website screenshot

One of the most popular self-hosted cloud storage solutions, Nextcloud is an independent spin-off of ownCloud created by some of the latter’s core contributors. It is open source under the GNU AGPLv3 license.

Focusing more on user collaboration, it features real-time document editing and integrated audio/video/text chat. There’s also a large marketplace of over 200 free apps to extend the functionality of your cloud server.

For Raspberry Pi, Nextcloud is fairly easy to install using either an Ubuntu Appliance or the dedicated NextCloudPi OS image.

System Requirements

Raspberry Pi model: A Raspberry Pi 2, 3, or 4. Raspberry Pi 4 recommended.

microSD card: 4GB minimum, 8GB or larger recommended.

Installation

Ubuntu Appliance: A special Ubuntu Appliance is available which blends Nextcloud with the Ubuntu Core operating system. Just download the Ubuntu Appliance file for Raspberry Pi 2, or Raspberry Pi 3 or 4, and use the official Raspberry Pi Imager tool to write it to your microSD card.

You’ll then need to open an Ubuntu SSO account and generate Secure Shell (SSH) keys to remotely access and start up your new Nextcloud server.

NextCloudPi: This custom version of Raspberry Pi OS enables you to build your own Raspberry Pi cloud server with Nextcloud. After downloading the OS image and writing it to a microSD card, there’s a bit of configuration required before you can access your Nextcloud server.

The NextCloudPi configuration web panel helps you to alter server settings and add an external drive.

Dashboard & Apps

Nextcloud dashboard files view

With a user-friendly interface, the Nextcloud web dashboard enables you to set your status, such as ‘working from home’, and see the weather conditions where you are. In the top toolbar are icons for sections such as Files, Photos, Contacts, Calendar, and Tasks.

A drop-down settings menu enables you to manage users and install extra apps. The marketplace features over 200 free apps, including the Collabora Online office suite, and a variety of dashboard widgets.

Desktop & Mobile Clients

You can sync your Nextcloud server files to your computer desktop automatically with a desktop client available for Windows 10, macOS, and Linux.

Free mobile client apps are also available for Android and iOS. Features include keeping your favorite files and folders synced and an instant upload option for photos and videos taken on your phone. In addition, a Nextcloud Talk app lets you make video and audio calls. Other special-purpose apps are also available.

Security

With enterprise-class security, your storage is protected with multilayer encryption. Industry-standard SSL/TLS is used to encrypt data in transfer. Data can be stored using military-grade AES-256 encryption and there’s the option of end-to-end encryption on a per-folder basis. As an administrator, you can control file and app access for users.

ownCloud

OwnCloud website screenshot

Focusing on enterprise-grade file collaboration, ownCloud is well-established cloud storage option and is completely free to use if you’re self-hosting your server. The ownCloud Core version is open source under the AGPLv3 license.

Features include end-to-end encryption, two-factor authentication, antivirus, firewall, and file integrity checking. Additional apps are available in a marketplace.

For Raspberry Pi, ownCloud is installed within an existing iteration of the standard version of Raspberry Pi OS, which is a little more convoluted than Nextcloud.

Requirements

Raspberry Pi model: A Raspberry Pi 2, 3, or 4. Raspberry Pi 4 recommended.

microSD card: 4GB minimum, 8GB or larger recommended.

Installation

To build a Raspberry Pi cloud server with ownCloud, you will install ownCloud within the standard Raspberry Pi OS. Before doing so, you’ll need to enter a few terminal commands to install the Apache HTTP Server, PHP 5, and SQLite.

After downloading the latest ownCloud zip file, another series of terminal commands is required to get everything working properly. You can then register an admin account and log in to your ownCloud server from a web browser.

Dashboard & Apps

ownCloud dashboard files view

ownCloud features a user-friendly web dashboard to access your documents and photos. By default, the interface opens to your Files page.

Clicking the top left menu icon enables you to switch between available apps. By selecting the Market option, you can visit the marketplace to install additional free apps such as a Calendar and the Collabora office suite.

Desktop & Mobile Clients

You can sync files to your computer desktop from your ownCloud server with a desktop client for macOS, Windows, and Linux.

Mobile client apps are available for Android ($0.99) and iOS (free, in-app purchases available). Features include the ability to browse all of your ownCloud synced files, create and edit new files, and share files and folders with other users.

Security

ownCloud prides itself on its reliability and security, including AES-256 encryption of files. However, the option for end-to-end encryption is not available in the free Community Edition.

Related: Owncloud vs. NextCloud vs. Seafile: Which Self-Hosted Cloud Storage Should You Choose?

Seafile

Seafile website screenshot

An open source file syncing and sharing solution, Seafile offers Dropbox-like file syncing along with a focus on collaborative features.

Uniquely, Seafile uses ‘libraries’ to organize your files. A library is a top-level container for a set of files and folders, so it’s a handy way of grouping together all the elements for a project.

For Raspberry Pi, Seafile is installed within an existing iteration of the standard version of Raspberry Pi OS by issuing a long series of terminal commands.

Requirements

Raspberry Pi model: A Raspberry Pi 2, 3, or 4. Raspberry Pi 4 recommended.

microSD card: 4GB minimum, 8GB or larger recommended.

Installation

As with ownCloud, Seafile is installed within the standard Raspberry Pi OS. The Lite version of the latter is recommended. The Sealife admin manual shows how to build the Seafile server release package for Raspberry Pi.

It involves numerous terminal commands to set up the build environment, install packages, compile development libraries, and install a whole load of Python libraries. You can then test and enable the server, ready for use.

Dashboard & Apps

Seafile cloud server dashboard

In the web dashboard, everything is organised into top-level folders called libraries, which can be password-protected. You can see your own libraries and others that have been shared with you. Documents may be viewed, edited, and commented upon.

Libraries can be explored in Column view, for a wiki-style experience. In addition, wiki pages can be saved as ordinary documents in Markdown format.

Unlike Nextcloud and ownCloud, there is no apps marketplace to extend your Seafile server’s functionality, so you’re limited to the online editing apps.

Desktop & Mobile Clients

Desktop syncing and Drive clients are available from the Seafile downloads page. The Drive client is the more sophisticated of the two options, enabling you to access files on the server without syncing to the local disk.

Free mobile client apps are available for Android and iOS, but have a fairly limited feature set.

Security

There’s an option to encrypt at-rest stored data using AES 256-CBC encryption. The free community edition also allows for control of files and app access rights in addition to two-factor authentication.

Raspberry Pi Cloud Storage Software Solutions

We have explored the three main options for creating a private cloud storage solution hosted on your Raspberry Pi. Adding an external storage drive is highly recommended to enable you to store more data than the microSD card.

If all you want is simple file sharing, an alternative is to set up Samba (SMB/CIFS) sharing on the Raspberry Pi, enabling you to access shared folders on a Windows, macOS, or Linux computer. Or you could install a specialist operating system to create a media server for music and video.