With businesses transitioning into the cloud, the significance of secure and flexible data storage is becoming increasingly apparent. And while most self-hosted cloud storage solutions may lack functionality, popular proprietary platforms often don’t provide the desired level of transparency and flexibility and may be difficult to integrate into the existing application stack.
Moreover, various myths about the nature of cloud solutions may prevent server owners from using them to store important data.
Key takeaways from this article
The key takeaways you will get from this article are:
- Discovering what Nextcloud is used for.
- Learning how to use NextCloud with regard to its initial setup and features.
- Exploring the three main ways to deploy Nextcloud on your server.
- What is involved with completing the Nextcloud installation steps.
- Reviewing the top five applications for your Nextcloud platform.
- Downloading and understanding how the Nextcloud desktop and mobile clients work.
More about NextCloud
Designed to overcome the shortcomings of modern proprietary cloud storage systems, NextCloud offers an all-in-one solution for file sharing and content collaboration. NextCloud is a free open source software suite capable of turning your server into a full-fledged cloud storage platform that can be securely accessed and updated from mobile and desktop devices.
This article focuses on Nextcloud setup, taking a deep dive into essential Nextcloud features and providing a comprehensive guide to deploying Nextcloud on your cloud or dedicated server running Ubuntu, AlmaLinux, or Rocky Linux operating systems. You will learn what Nextcloud is used for and how to use Nextcloud to leverage all features of the open source cloud storage solution for your business.
What is Nextcloud used for?
Nextcloud, or Nextcloud Hub, is a powerful open source application suite for cloud-based data storage and content collaboration developed and maintained by Nextcloud GmbH. Nextcloud Hub features Nextcloud Files — a stripped-down Nextcloud platform for secure file sharing and management similar to Google Drive — and a collection of additional applications. Nextcloud Hub apps, such as Calendar, Text, and Mail, extend the functionality of Nextcloud Files, turning it into a centralized cloud platform for file management and communication.
Nextcloud is a free, self-hosted platform, with all core features available out of the box upon completing the Nextcloud setup. All NetCloud Hub applications are also available for free. However, you may opt for the enterprise version of the software, optimized for mission-critical environments. Nextcloud Enterprise offers additional support and security consulting, as well as early upgrades and security patches.
Nextcloud is primarily focused on providing a cloud storage platform for file sharing. Although the amount of storage available through Nextcloud is only limited by your server resources, an additional backup storage solution is recommended if you would like to have backups of your system and important data stored in the cloud.
How does Nextcloud work?
One of the most prominent Nextcloud features as a self-hosted cloud storage solution id its flexibility and transparency. Nextcloud takes advantage of the existing database and data storage technologies to provide a secure and reliable file sharing and synchronization solution, fully controlled by the server's owner. This fact means that actual way data is stored on your Nextcloud platform is determined by your current server setup, which includes file and database management systems in use.
All files uploaded to your Nextcloud platform will be stored in a designated location and managed by Nextcloud. All additional data, such as user information, comments, and other collaboration details, will be stored in the Nextcloud database. By default, no storage encryption is enabled, however, you can leverage the Server Side Encryption feature Nextcloud offers to encrypt data at rest.
Nextcloud cloud storage platform provides a graphical user interface for convenient file management from a web browser or a Nextcloud client application. Nextcloud Sync clients, available for mobile and desktop devices, allow you to connect to your Nextcloud cloud storage platform to upload, modify, and remove files. All modifications to the cloud storage will be immediately synchronized across all connected devices.
Nextcloud leverages Web Distributed Authoring and Versioning (WebDAV) and Transport Layer Security (TLS) to provide secure and reliable access to the cloud storage platform. The WebDAV protocol acts as a framework for users to create, change, and move files in the cloud storage platform, powering core Nextcloud functionality. TLS enables encrypted data transfer between Nextcloud Sync clients and the Nextcloud data storage platform.
Nextcloud setup — 3 main ways to deploy Nextcloud on your server
There are three main ways you can deploy a Nextcloud cloud storage platform on your Linux server: you can use the all-in-one Nextcloud Docker image to run your Nextcloud platform in a Docker container, install the latest Nextcloud release manually on top of an existing LAMP stack, or deploy Nextcloud as a Snap package.
Currently, you can only install Nextcloud on a Windows server by deploying the cloud storage platform in a virtual machine that will run on a type two hypervisor. As an alternative, you can use the managed Nextcloud platform with one of Nextcloud certified providers.
Nextcloud setup in a Docker container using the official all-in-one Docker image is the only automated installation method officially recommended by Nextcloud GmbH for self-hosted Nextcloud platforms. However, installing Nextcloud through Snap can provide an excellent way to test certain Nextcloud features and learn how to use Nextcloud before deploying the platform in the production environment. Manual installation of Nextcloud may be a good option for administrators who do not want to deploy Nextcloud in a Docker container.
Let's explore the first two main Nextcloud setup methods shown in the table below that are officially recommended by Nextcloud GmbH. The following table will help you find the best way to install the Nextcloud platform based on your needs to take advantage of all Nextcloud features you require:
|1. Nextcloud setup in a Docker container
|2. Manual Nextcloud setup
|3. Nextcloud setup through Snapcraft
|Compatibility with operating systems
|Suitable for both RedHat and Debian-based Linux server operating systems, including Ubuntu, AlmaLinux, and Rocky Linux.
|Suitable for both RedHat and Debian-based Linux server operating systems, including Ubuntu, AlmaLinux, and Rocky Linux.
|Recommended for Debian-based Linux operating systems such as Ubuntu. Not recommended for RedHat-based operating systems.
|Docker Engine installed on your server.
|LAMP stack installed on your server.
|Snapd installed on your server.
|Known limitations and peculiarities
|Requires familiarity with Docker Engine to maintain the platform and install additional Nextcloud applications.
|May require additional tuning to work correctly in the existing server environment.
|Allows you to configure multiple domain names to access your Nextcloud platform.
|The only officially recommended automated method for Nextcloud setup.
|The only officially recommended method for Nextcloud setup without using Docker Engine.
|Nextcloud setup through Snap is not an official installation method recommended by Nextcloud as the Snap package is community-maintained.
System requirements and prerequisites
The following main system requirements and prerequisites are defined by Nextcloud. They are suggested for achieving the best performance and stability of the platform:
- Operating system: Ubuntu 22.04 LTS, AlmaLinux 9, Rocky Linux 9.
- Memory: 4 GB of RAM or more.
- Disk space: 128 GB or more, depending on the amount of data you plan to store.
- Database server: Database server (required for a manual Nextcloud setup): MySQL 8.0+ or MariaDB 10.5+ with InnoDB storage engine enabled, or PostgreSQL 12+.
- Web server: Web server (not required for a Nextcloud setup in a Docker container, but can be used as a reverse proxy): Apache or NGINX.
- PHP: PHP (required for a manual Nextcloud setup): 8.2+ with a list of required PHP modules installed.
- Domain name: A domain name for your Nextcloud platform pointing to your server.
- Access: Root-level access to your server.
- Ports:80,443, 8080, and 8443 open in the firewall.
Method #1. Nextcloud setup in a Docker container
The official Nextcloud all-in-one Docker image includes all components of Nextcloud of the default installation of the Nextcloud Files platform with Nextcloud Office and Nextcloud Imaginary add-on applications included. Make sure to install Docker Engine on your server before following the instructions below.
Nextcloud setup in a Docker container does not require a web server working in front of it, however, you can configure Nextcloud to run behind one if you wish. Setting up a reverse proxy for Nextcloud will include taking some additional steps outlined in the official Nextcloud reverse proxy documentation on container startup and making adjustments to your web server configuration.
Step 1.1. Create and start a Nextcloud Docker container
Use the following command to start a Nextcloud Docker container using the nextcloud/all-in-one:latest container image. Please note that the NEXTCLOUD_DATADIR environment variable will specify the Nextcloud data directory — the location for all files uploaded to Nextcloud.
The NEXTCLOUD_STARTUP_APPS variable will help you specify additional Nextcloud Apps that will be installed on your Nextcloud platform on the first startup of the container. NEXTCLOUD_STARTUP_APPS accepts a list of space-separated values:
docker run \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 80:80 \
--publish 8080:8080 \
--publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
--env NEXTCLOUD_DATADIR="/home/nextcloud" \
--env NEXTCLOUD_STARTUP_APPS="calendar tasks contacts notes" \
Initial startup of Nextcloud All-in-One complete!
You should be able to open the Nextcloud AIO Interface now on port 8080 of this server!
If your server has port 80 and 8443 open and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:
Step 1.2. Complete the Nextcloud installation
After a container has been deployed using the all-in-one Nextcloud Docker image, you can complete the Nextcloud setup and install all additional Nextcloud applications through the graphical user interface. Furthermore, Nextcloud setup in a Docker container allows you to configure an SSL/TLS certificate for your cloud storage platform to enable encryption for data transfer.
Open https://nextcloud.yourdomain.com:8443, where nextcloud.yourdomain.com is a domain name pointed to the server chosen for your Nextcloud platform, to generate and install a certificate for it and follow the instructions gain access and customize the cloud storage solution. Use the password provided by Nextcloud to log in and complete the installation:
Nextcloud will automatically install and start additional Docker containers required for your Nextcloud storage platform. You cam install additional apps, such as Nextcloud Office and Imaginary by checking the corresponding options under the Optional Containers heading. Click Download and start containers, and Nextcloud will launch the final stage of the installation process:
The container setup may take a few minutes, depending on the number of additional applications you choose to install. Once all containers are started and the Nextcloud setup is completed, you will be able to access your Nextcloud platform using the credentials provided. Nextcloud will automatically create an administrative account for you and share the password it generated. You will be able to reset the password upon completion of the Nextcloud setup:
Click the Open your Nextcloud button and log in to your newly deployed Nextcloud storage platform. You can use the Customize button to change the layout of the main screen:
Method #2. Manual Nextcloud setup
A manual Nextcloud setup involves downloading the latest release of Nextcloud in the form of a tar.bz2 or zip file and installing it on your server to run on top of an existing LAMP stack with a domain name for your Nextcloud platform configured as a virtual host.
Step 2.1. Make sure LAMP stack on your server is configured to run Nextcloud
Start your Nextcloud setup by verifying that your the LAMP stack meets all requirements for running the cloud storage platform. Thelist of prerequisites for manual Nextcloud setupoutlines the most essential configurations that should be in place before installing Nextcloud on your server.
Make sure your database server meets all Nextcloud requirements for database configuration. You will also need to create a database for your Nextcloud platform and a database user. The newly created Nextcloud database will be populated with data upon completion of Nextcloud setup.
Install an SSL/TLS certificate on your Nextcloud domain name. This way, you will be able to access your Nextcloud platform securely upon completing the installation steps, as manual Nextcloud setup does not include having a certificate generated.
Step 2.2. Download and install the most current release of Nextcloud
Download the archived version of the latest Nextcloud release from the official Nextcloud download page. Another way is to download the newest version from the list of all Nextcloud releases published and maintained by Nextcloud developers. Check the integrity of the package using MD5 or SHA256 by downloading its corresponding checksum file:
[root@myserver nextcloud]# md5sum -c latest.zip.md5 < latest.zip
Extract Nextcloud files using tar or unzip commands. Copy the contents of the extracted folder to the document root directory of your Nextcloud domain name. Make sure to adjust ownership of the files for the Linux user set up for your website or your web server user to have read and write access rights to Nextcloud files:
[root@myserver nextcloud]# rsync -av nextcloud/ public_html/
sent 571,787,631 bytes received 455,106 bytes 228,897,094.80 bytes/sec
total size is 570,093,210 speedup is 1.00
Create a data folder you will be using to store files uploaded to your Nextcloud platform. Please note that the document root for the Nextcloud virtual host will keep the Nextcloud application and configuration files, whereas you can configure a different directory to store data uploaded to Nextcloud.
After the installation files have been copied to your Nextcloud website's document root directory, you will be able to access your Nextcloud platform by visiting the chosen domain name. You will be able to finalize the configuration of the cloud storage platform by supplying the location of the chosen Nextcloud data directory, as well as the database you created, its user, and the corresponding password.
Step 2.3. Complete the Nextcloud installation
Similar to completing the Nextcloud setup in a Docker container, you will need to finalize the installation and set up administrative access to Nextcloud through its graphical user interface to start using the cloud storage platform you installed manually. Nextcloud will walk you through all initial configuration steps, where you will be asked to set a Nextcloud database and a user for it, as well as create an administrator account.
Create a username for your Nextcloud administrative account and generate a strong password. The newly created account will be used to manage your Nextcloud cloud storage platform:
Click Storage & Database to configure database connection details and a data directory — a specific location on your server where all data uploaded to your Nextcloud platform will be stored:
Clic the Install button to complete your manual Nextcloud setup. Unlike the Nextcloud setup in the Docker container, which comes with certain Nextcloud Hub apps preinstalled, you will need to install most additional applications manually from the Nextcloud Apps Store if you opt for a manual Nextcloud setup.
Step 2.4. Learn how to manage your Nextcloud platform from the command line
Nextcloud provides the Own Cloud Console via the occ command as the Nextcloud command line interface (CLI) to perform various administration operations such as upgrading Nextcloud, managing user accounts and passwords, and more. The occ command is a PHP script that you can find in your Nextcloud installation directory. Please note that you should run Nextcloud CLI commands as the user that owns your Nextcloud installation files to maintain correct file permissions and ownership.
Generally, you will be able to perform most platform management tasks from the graphical user interface, including finalizing the Nextcloud setup and upgrading your Nextcloud platform once a new version is released. However, you can use the occ maintenance:install command to complete the installation by supplying database connection details, creating an admin user, and configuring a password for it. The occ upgrade command will help you update your Nextcloud platform.
Nextcloud Hub — top 5 applications for your Nextcloud platform
Nextcloud Hub offers a collection of software accessible through the Nextcloud App Store, enhancing the Nextcloud platform with functionality that extends well beyond just file sharing. Nextcloud Apps provide solutions for backup storage, document and event management, analytics, and communication, among many others. You can install Nextcloud applications through the graphical user interface Nextcloud provides.
Here are the top five Nextcloud Hub applications to explore more Nextcloud features:
- Nextcloud Memories. A photo management app, which allows you to create albums, group photos and videos by people and objects, and share your media content with others.
- Nextcloud Calendar. A calendar app for easier time management that integrates with other Nextcloud apps, such as Nextcloud Contacts, and allows you to schedule events and notify all participants.
- Nextcloud Office. A self-hosted online office suite for collaborative editing that supports all major file formats. Included among the core features of the Nextcloud setup.
- Nextcloud Talk. A powerful messaging application with support for video conferencing.
- Nextcloud Analytics. A powerful data analysis and visualization utility, which allows you to gather information from multiple sources to create insightful reports.
Install additional Nextcloud applications through Nextcloud App Store
Click your account avatar at the top right corner of the page to open a dropdown menu. Choose App Store from the menu to open the catalog of all Nextcloud applications. You will see that all Nextcloud Hub applications are divided into various categories based on the functionality they provide. You can also search for specific solutions by selecting the magnifying glass icon found in the primary vertical menu.
Navigate to the Nextcloud application you wish to install and click the Download and Enable button located to the right of the chosen Nextcloud App. Nextcloud will download all application files and install the extension for you:
You can also update your Nextcloud applications through the Nextcloud App Store interface once new versions are released. Just click the update button, and Nextcloud will install the updates for you:
Nextcloud setup — downloading Nextcloud desktop and mobile clients
To access your Nextcloud platform, you must download and install Nextcloud client applications on your desktop and mobile devices. Nextcloud provides client applications for desktop devices running all operating systems, inclusive of MacOS, Windows, and Linux. You can download Nextcloud client for mobile devices through their respective application stores, such as the Apple App Store or Google Play. Connect to your Nextcloud platform by supplying the correct user credentials and start using your cloud storage.
As Nextcloud takes advantage of WebDAV, you can use other WebDAV clients to connect to Nextcloud, such as FileZilla, WinSCP, or Cyberduck. Third-party WebDAV clients allow you to gain immediate access to your Nextcloud cloud storage platform in case a Nextcloud client application is not installed on the device you are using. Please note that a third-party WebDAV client will only offer basic functionality for managing your Nextcloud platform, and it's recommended you use an official Nextcloud client application instead.
Deploy your own Nextcloud platform with Liquid Web
Nextcloud is a robust open source cloud storage platform for file sharing, content collaboration, and communication. As a self-hosted software solution, Nextcloud leverages your existing database and data storage technologies to create reliable and secure cloud storage solution for your data.
Nextcloud relies on your server environment and resources, making it critical for the application stack and storage technologies in use to deliver the required level of reliability. When choosing hosting services for your Nextcloud platform, you can not settle for less than the best.
Unlock the full potential of the Nextcloud storage platform with Liquid Web hosting solutions. Enterprise-grade hardware and cutting-edge hosting technologies guarantee a seamless Nextcloud experience, ensuring unmatched performance and reliability throughout your cloud collaboration journey.
Our Sales and Support teams are available 24 hours by phone or e-mail to assist.