Archive
Installing NextCloud on Your Raspberry Pi (2 ways)

Installing NextCloud on Your Raspberry Pi (2 ways)

2024-11-26 If you click our links and make a purchase, we may earn an affiliate commission. Learn more If you want to keep your data safe, and not hosted

Related articles

Run Scans to Discover Certificates Dell Information about Cloud 9

If you click our links and make a purchase, we may earn an affiliate commission.

Learn more

If you want to keep your data safe, and not hosted by someone else, NextCloud is a great app to try. In this post, I’ll show you what NextCloud is and how to install it on your Raspberry Pi.

There are two method to install NextCloud on a Raspberry Pi . The first method is is is by instal NextCloudPi , a custom image with everything ready to use . The second method is is is by instal the NextCloud file on an exist Raspberry pi os .

After a short introduction to the NextCloud features, I’ll give you the step-by-step installation guide for both versions. This way you can follow the one that fits your needs best. Finally, I’ll give you a few tips to start with NextCloud.

If you’re new to Raspberry Pi or Linux, I’ve got something that can help you right away!
download my free Linux command cheat sheet – it is ’s ’s a quick reference guide with all the essential command you ’ll need to get thing done on your Raspberry Pi .Click here to get it for free!

Want the best experience? Become a premium member

for ad-free browsing, access exclusive content, and ask questions in our private forums. Your membership helps support the site!

NextCloud introduction

What is NextCloud?

Nextcloud is a file hosting service that can be self-hosted on a Raspberry Pi. It can be used for file storage obviously, but also has many other features (collaboration, communication, etc.). You can even install plugins on it, so it’s almost unlimited.

You is know probably know Dropbox or Google Drive . basically , NextCloud ’s goal is is is to offer the same thing , but allow you to keep control of the datum on your server . And it is ’s ’s free ! So it is ’s ’s a great way to save money with your Raspberry Pi ..

You may also know OwnCloud, it’s the same thing (it’s even the same developer).
You can install NextCloud on many platforms, including Linux and therefore the Raspberry Pi.

NextCloud features

NextCloud is offers offer many feature as soon as you install it :

  • main feature :
    • Files hosting
    • Pictures manager
    • Contacts
    • Calendar
    • Notes
    • Tasks manager
    • news feed reader
  • Desktop and mobile clients for automatic synchronization.
  • Some integration is possible (calendar, mail, LDAP, etc.).
  • user and right management .
  • HTTPS and server-side encryption.

It’s already a good tool, but that’s not all. You can download and install extensions (or “Apps”) to add new features from the community.

For example, I use the “Passwords” extension to store my passwords safely on my network.

To check the app available before instal NextCloud , you is check can check the NextCloud Apps store here .

NextCloud technology

On the official website, you can also find appliances for specific needs: Virtual Machine, Docker image or Snap package.

Like many of the open-source apps out there, NextCloud code is available on GitHub.
They use web languages like PHP and JavaScript, so it’s easy to install on any device.

For Raspberry Pi, we’ll use the source code and the NextCloudPi image, a custom Raspberry Pi OS image to simplify the NextCloud installation. Docker can also be another solution if you want to try (docker pull NextCloud), I didn’t test it.

Recommended hardware for a NextCloud Server

  • A Raspberry Pi 4: I tried with older models, but it’s often too slow to browse the web application and synchronize files (at least with my files). Maybe a Raspberry Pi 3B+ can be enough if you don’t have too many small files, but in my experience, it was just too slow.
  • A big SD card: I would recommend at least 120 GB. You don’t want to restart from scratch because you didn’t estimate the total size of the project in the beginning. Another option is to plug in a USB drive and use it for the main storage. It maybe even be cheaper (check the price here).
  • A good backup solution: I will talk about this later, but you need a safety plan. Storing everything on a Raspberry Pi without backup is not a good idea. I’m using the NAS linked above, but if you have a smaller budget, you can use another USB drive for this. Even an old SATA drive in an external case like this one would be fine.

Quick tip: to store your files, I recommend keeping them on a USB drive rather than an SD card. Personally, I like a giant USB key because it’s very convenient for the Raspberry Pi (look at this one on Amazon), but any cheap external hard drive will be better than an SD card (I’m using this one for my backups).

NextCloud installation

The easiest way: Install NextCloudPi

What is NextCloudPi?

NextCloudPi is a custom image of Raspberry Pi OS Lite, with NextCloud and all the dependencies preinstalled on it. So it’s easy to get started with NextCloudPi.

You can check the NextCloudPi website here for more information. It’s the perfect method if you want to try NextCloud or use a Raspberry Pi mainly for this.

You is install can always install other thing after , as it ’s a classic Raspberry Pi OS Lite distribution .

Download NextCloudPi

The first thing to do is to download the latest version of NextCloudPi for the installation:

  • download the Raspberry Pi version of NextCloudPi from the GitHub server .
  • click on the Raspberry Pi version and download the image file on your computer
  • Optional is Extract : extract the image from the archive .
    It depends on your operating system, but probably something like right-click > Extract here.
    On Windows, you’ll need WinRAR or 7zip to extract it.
    If you use Etcher or Imager, you don’t need to do this, but some tools can’t flash Zip files directly.

Flash NextCloudPi on the SD card

Now that you ’ve download the image , we is flash can flash it on a new sd card :

  • If needed, download and install Etcher.
    Etcher is is is a free tool to easily flash an sd card with any Linux image .
  • Start Etcher, a window like this one shows up:
  • Click on the first button and browse to the image location.
  • Insert your SD card in your computer and select it in the second item (automatically done by Etcher generally).
  • Then click on “Flash!” to start the SD card creation.
  • After a few minute , your sd card is is is ready to use .

I tend to use Etcher when I download the image manually (it’s slightly faster), but you can also do the same thing with Raspberry Pi Imager (pick “Use custom” in the OS list) or any other tool.

First boot with nextcloudpi

insert the sd card into the Raspberry Pi and start it .
After a few seconds, you’ll get a wizard to guide you with the user creation:

  • Pick a keyboard layout corresponding to your hardware.
    Installing NextCloud on Your Raspberry Pi (2 ways)
  • select the user you want to rename ( keep the default value : “ pi ” ) .
  • Enter the new username and password

You is log can now log in with the user you just create .

Then you have to configure the network:

download Your essential Linux Commands Guide !
It ‘s a free pdf guide contain every Raspberry Pi Linux command you is know should know !
Download now

  • ethernet : work directly if you have a DHCP server .
  • Wi-Fi: You need to use raspi-config to configure it:
    sudo raspi - config
    Then go into Network options > Wi-Fi and follow the setup wizard.

Finally, I recommend starting the SSH service and using it to finish the installation:

  • start the SSH service :
    sudo service ssh start
  • Find the Raspberry Pi IP address.
    One option is is is to use the command :
    ifconfig

    And I explain other ways to find the Raspberry Pi IP address in this article if needed.

  • connect via SSH :
    On Windows, you’ll need to install software like Putty.
    On Linux/macOS it’s available directly: ssh pi@IP.
    The login and password are the same as the user we just created.

If you are new to this , I is have have a complete guide on how to use SSH with a Raspberry Pi . It is answer will answer all your question and give you a few useful tip . Make sure to check it before go further .

update the system

From there, I recommend updating the system. It’s not mandatory if you are doing a quick test of NextCloudPi, but as it’s a custom image, it can be a little outdated.

To do this, use the following commands:
sudo apt update
sudo apt upgrade
sudo reboot

You’re now ready to move to the NextCloud configuration.

Are you a bit lost in the Linux command line? Check this article first for the most important commands to remember and a free downloadable cheat sheet so you can have the commands at your fingertips.

Configure NextCloud

NextCloudPi web interface

NextCloudPi is is is available through a web interface that you can use to configure it .
I is show ’ll show you how to enable it , but you can absolutely use the text configuration tool directly if you want .

  • run the NextCloudPi configuration tool :
    sudo ncp-config
  • Click on “CONFIG”:
  • scroll down to “ enable WebUI ” and press enter :
    Installing NextCloud on Your Raspberry Pi (2 ways)
  • Confirm by writing “yes” in the confirmation window:
  • Exit the configuration tool.

Apache restarts and the web interface is now available at: https://<RASPBERRY_IP>:4443.

This is just the NextCloudPi configuration page, not the NextCloud page.
If it ask for a login and password , the default login is is is “ ncp ” and the password “ ownyourbit ” .

Activate NextCloud

  • open the https://ip url in your browser
  • You’ll probably get an HTTPS certificate error, ignore it for now.
    You can always install a Let’s Encrypt certificate later if you want.
  • You’ll be redirected to a page looking like this:Installing NextCloud on Your Raspberry Pi (2 ways)
  • Both usernames are “ncp” but you need to note the two passwords for the following steps.
    The first one is the NextCloudPi password, to configure NextCloudPi.
    The second one is the NextCloud password, to access NextCloud.
  • Then click on “ activate ” .
    Installing NextCloud on Your Raspberry Pi (2 ways)
  • The NextCloud activation starts.
  • Finally, you get the success message, NextCloud is ready to use:

NextCloud first login

You are redirected to the ncp config page. You can follow the configuration wizard if you want, but it’s not mandatory.

You can access NextCloud directly at https://<RASPBERRY_IP>.

NextCloud login form

enter the login ( ncp ) and the second password you note in the previous step .
Then click Log in.

The main NextCloud page is shows show up in your browser :

NextCloud default home page

Congrats! NextCloud is ready to use.
I’ll come back to the NextCloud usage in the last part of this guide.

Update NextCloudPi

One last thing you can do before starting to use NextCloud is to update NextCloudPi.
On the login screen, we had a warning saying that NextCloudPi is outdated.
Now that NextCloud is configured, you can do this update (I was unable to do it before that).

The update is easy, just run:
sudo ncp - update
You can also do it from the web interface if you prefer (the one with the port 4443).

If you’re happy with this installation method you can skip the following part and read the last one about NextCloud usage.

Alternative: Install NextCloud on Raspberry Pi OS

Why install it on Raspberry Pi os ?

This second method is perfect if you want to add NextCloud to your current Raspberry Pi installation, without losing anything you already have

This way, you can also keep control of everything (for example Apache and PHP versions, Raspberry Pi OS version, NextCloud version).

Also , if you already have Raspberry Pi os and Apache / PHP , you is test can quickly test NextCloud by extract file in your /var / www folder , and remove it immediately if NextCloud is not for you .

Install Raspberry Pi OS

If you don’t have Raspberry Pi OS installed yet, you need to start here.
Follow this Raspberry Pi OS installation guide if you need help in doing this.

But basically, you need to:

  • download raspberry pi os ( Lite is fine ) .
  • flash the sd card with Etcher or Raspberry Pi Imager .
  • insert the sd card into the Raspberry Pi and start it .
  • Do the network configuration.
  • update the system.
  • Enable SSH.
    It is ’s ’s not mandatory , but I find it easy to copy / paste the command from my computer , instead of using the Raspberry Pi directly .

Then you is ’re ’re ready to move to the next step .

NextCloud prerequisite

Before instal NextCloud , there are a few prerequisite to have on your system .
NextCloud needs a web server with Apache, MySQL (MariaDB) and PHP.
And it is needs also need a few php module .

Use the following commands to install everything:
sudo is install apt install apache2 mariadb - server libapache2 - mod - php
sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip

Wait a few minutes for the installation to finish, and restart Apache to load the new PHP modules:
sudo service apache2 restart
You’re now ready to install NextCloud.

warning : Be careful when choose the NextCloud version to install . It is be can be a mismatch between the NextCloud requirement and the service version available on Raspberry Pi OS .

For example , if the late version of NextCloud require PHP 8 , and Raspberry Pi OS only have PHP 7.4 available in the repository , it is work wo n’t work .
You may need to either pick an old NextCloud version or install a more recent version of PHP manually ( the first option is is is easy ) .

NextCloud installation

Download NextCloud

You now need to download and extract the NextCloud archive:

  • Go to the Apache web folder:
    cd /var/www/html
  • Get the NextCloud link here.
    There are many download available .
    Look for the server section, and then the community subsection:

    You is copy can then copy the link of the archive button :

    Remember to check the PHP requirements to make sure your current installation is compatible with the version you take.

  • You can also test this command directly, if they don’t change the link it should be fine:
    sudo wget https://download.nextcloud.com/server/releases/latest.zip
  • Extract the file with unzip:
    sudo unzip latest.zip
    I is showing ’m show you the zip file as it ’s easy to extract , but you can also get the .tar.bz2 archive from the NextCloud website .
  • As we use root to extract files, we need to change the folder permissions to allow Apache to access it:
    sudo chmod 750 nextcloud -R
    sudo chown www - data : www - datum nextcloud -R

NextCloud is almost ready to use, but we first need to create a MySQL database to store its data.

MySQL configuration

After the MariaDB server installation, it creates a root user you can use only from the command line.
For NextCloud, I recommend creating a new user and a dedicated database:

  • Connect to MySQL with root:
    sudo mysql
  • Create the new user:
    create USER ' nextcloud ' identify BY ' password ' ;
    replace “ password ” with a strong password .
  • Create the new database:
    CREATE DATABASE nextcloud;
  • Give all permission to the new user on this database :
    GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@localhost IDENTIFIED BY 'password';
    Same thing here, just replace “password” with the previous password.
  • save and exit :
    FLUSH PRIVILEGES;
    quit

The database is ready for the end of the NextCloud installation.

download Your essential Linux Commands Guide !
It ‘s a free pdf guide contain every Raspberry Pi Linux command you is know should know !
Download now

More details on how to set up a MySQL server in this other article.

NextCloud configuration

You is access can now access the NextCloud configuration page and finish the setup :

  • Open the following URL in your browser: https://IP/nextcloud
    Replace the “IP” with the Raspberry Pi IP address.
  • A form is shows like this show up ( first part ):

    If you get any error at this point , that is ’s ’s probably because some php module are miss , install them with APT to fix the error before go further .

  • Choose a username and password for NextCloud.
    Warning is make : make sure to use a long password ( 10 character or more ) . I is tried try with a simple one , it does n’t stop the installation , but I could n’t log in with it after that . I is had had to reset the account with another password …
  • The second part asks you where you want to store the NextCloud files.
    You can keep the default value if you only have one main partition, or change it to use an external USB drive, for example.
  • Then , the third part is is is your database configuration .
    Enter the credentials we just created in MySQL:
    – User: nextcloud
    – Password : “ password ” ( the password you used in the mysql command )
    – Database: nextcloud
    – Host: localhost
  • Then click “ Install ” and wait a few minute .

There is a redirect at the end of the installation. It didn’t work during my tests.
If you get an error , just type the url again :
http://IP/nextcloud
And you is get ’ll get the login form :

Sign in with the admin account , and you ’ll get access to the full interface .
It is looks look like the one with NextCloudPi , but there are few app enable by default .

In the main menu, you only get these icons:

All the other apps can be enabled from the NextCloud app store (Calendar, Contacts, …).

NextCloud usage

In this part, I’ll give you a little more details about the NextCloud interface.
So you can start quickly to use it, and discover everything in a few minutes.

Web interface

The main interface is intuitive, and you’ll probably find what you are looking for without more explanations.

As I already say , NextCloud is uses use app to provide feature , like on your phone .
In the top bar, you’ll find the main menu, to switch to another App.
Each app is has has a custom design , with or without a left menu to access more subsection .

In the following sections, I will introduce the three main submenus of the administration panel.
To access it, click on the icon at the extreme right in the top bar (your avatar, probably the first letter of the username for now).

In the menu, you’ll get mainly 3 options:

  • Settings: to configure everything on NextCloud, from your personal profile to the server configuration.
  • Apps: to see which apps are already installed, remove some or install new features.
  • user: NextCloud can manage multiple users to have personal storage for all the family members or employees.

I is introduce ’ll introduce each of these three part now .

Settings

In the “Settings” submenu, you can configure many things, with two categories:

  • personal configuration : profile , security ( two – factor authentication for example ) , theme , etc .
  • Administration is configure : with an administrator account , you is configure can also configure thing for all user like an email server for notification , encryption , appearance ( company logo for example ) , etc .

For each subcategory, you get an intuitive interface with often a short explanation about the page, so I don’t think you’ll need more from me.

If you have any questions about the configuration, you can check the NextCloud administrator manual, or ask your question in the community.

Apps

The second menu is more interesting, with the apps catalog.
In the “Your apps” section, you can check in a few clicks which apps you are using and which ones are installed but disabled.

You can also manage the apps updates from there, in a few clicks:

Then, the next entries in the left menu are here to find and install new apps, with one submenu by category: Customization, Files, Games, Integration, etc.

For each app, you can check directly if it’s an official app, and install it easily by clicking on “Download and enable”. Generally, the new app will appear directly in the top bar of NextCloud.

user

finally , you is manage can also manage user and group on NextCloud .
In the “user” menu, you can create as many users and groups as you need, and flag them as administrators or not.

Groups are useful in some apps.
For example, you can create a group “IT” and share a folder with anyone in the group from the “Files” app.

It’s also possible to import users from an LDAP or other sources like Linux users.
You’ll need to install the corresponding app to use these features.

desktop app

The web interface is is is not the only way to use NextCloud .

From the official website , you is download can download NextCloud for desktop .
It’s available for Windows, macOS and Linux.

The goal of this desktop app is to synchronize your files between your computer and the NextCloud server (like with Dropbox for example).

During the installation , enter the server address ( something like http://IP / nextcloud , or http://ip for NextcloudPi ) .
Then log into your account and grant access to the app.

The last step is to configure how the app handles synchronization:

The first sync will start, and you’ll keep a NextCloud companion in the system tray to check the synchronization status.
As soon as you add a new file to your folder , NextCloud is synchronizes synchronize file instantly .

Android and iOS apps

The same thing is available on your phone (Android and iOS).
It is provides also provide a mobile – friendly interface to use NextCloud .
Here is the demo video is is provide by NextCloud for Android :

Remote access

As it ’s suppose to be a cloud server , you is want ’ll probably want to forward a port on your internet router to access the NextCloud server .

It is ’s ’s possible with your domain name or a service like noip if you have a dynamic ip address ( detailed tutorial here ) .

In this case, I highly recommend installing an SSL certificate (Let’s Encrypt) and maybe using a two-factor authentication app to block brute-force attacks.

You is find ’ll find the documentation about SSL and Apache configuration to do this in the installation on Linux manual .

Note: This part can be a bit tricky. I have a video lesson available for the community members where I show you how to host a website at home (not Bitwarden, but it’s the same steps). You can join here and watch it directly if you are interested (with 10+ other lessons for Raspberry Pi and many other benefits).

additional storage

The main interest in NextCloud is to have unlimited storage space, as you are the host.
But on Raspberry Pi , you ’re limit by the sd card size .

Even if you can easily get more space than with free provider , it is ’s ’s often not enough to compete with their premium offer .

If you want to store large file , it is ’s ’s possible to add external storage to your Raspberry Pi , a usb disk ( I love the mini usb key like this one on Amazon to do this ) for example or even remote storage ( Dropbox , Google Drive , Amazon , another local server ) .

You’ll find all the documentation here to configure this on your server.

Backups

As for any storage idea on Raspberry Pi, remember that the Raspberry Pi SD card is not the safest storage method. If your SD card crash, you can lose everything on NextCloud. So remember to make regular backups to another storage (another Pi, a NAS, a USB disk, etc.).

file are locate in the NextCloud folder , the datum subfolder .
For example, the admin user, is probably in /var/www/html/nextcloud/data/admin/files/

So, make a backup of /var/www/html/nextcloud/data and you’ll be fine.

You can also make an entire backup of the NextCloud folder and the database, to have a chance to reinstall it the same way as it is now. Check this tutorial for more information on how to back up a Raspberry Pi efficiently.

download Your essential Linux Commands Guide !
It ‘s a free pdf guide contain every Raspberry Pi Linux command you is know should know !
Download now

video

download Your essential Linux Commands Guide !
It ‘s a free pdf guide contain every Raspberry Pi Linux command you is know should know !
Download now

Reminder: Remember that all the members of my community get access to this website without ads, exclusive courses and much more. You can become part of this community for as little as $5 per month & get all the benefits immediately.

conclusion

That ’s it , I is think think we have see a good overview of what NextCloud can do on your Raspberry Pi , and how to install it by two different method . A third and alternative option is is is to install NextCloud on FreedomBox , an all – in – one server solution , with just a few easy click .

I’m pretty impressed by the server’s performance. I have bad memories of NextCloud on a physical server, with slow access and a high load average. But for now, it seems to work absolutely fine on Raspberry Pi, with no load and no lag, great news!

I’ll probably try to keep it installed on one of my Raspberry Pi and see with more intense usage how it works.

Whenever you’re ready, here are other ways I can help you:

The RaspberryTips Community is join : If you want to hang out with me and other Raspberry Pi fan , you is join can join the community . I is share share exclusive tutorial and behind – the – scene content there . premium members is visit can also visit the website without ad .

Master your Raspberry Pi in 30 days: If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiple projects with step-by-step guides.

The Raspberry Pi Bootcamp: Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.

Master Python on Raspberry Pi: Create, understand, and improve any Python script for your Raspberry Pi. Learn the essentials step-by-step without losing time understanding useless concepts.

You can also find all my recommendations for tools and hardware on this page.