Originally published at: How to Install the Nextcloud All-in-One on Linux - Nextcloud
Are you a Linux user looking to install the Nextcloud All-in-One, or AIO, Docker image? In this blog, we walk you through the steps, just like we did in our last AIO Guide for Windows 10 & 11!
Nextcloud All-in-One is a Docker-based project which allows to install just one container that does the heavy lifting of creating and managing all containers needed for a full-blown Nextcloud installation. Nextcloud AIO not only provides easy deployment and maintenance of many Nextcloud features included, but you can also expect a user friendly interface, stress-free updates and a more simplistic approach for getting most features to work out-of-the-box.
Nextcloud AIO includes:
- Nextcloud Office
- High performance backend for Nextcloud Files
- High performance backend for Nextcloud Talk
- Backup solution (based on BorgBackup)
- Imaginary (for previews of heic, tiff and webp)
- ClamAV (Antivirus backend for Nextcloud)
“With using Nextcloud All-in-One compared to the other installation methods, I found the performance is substantially better, especially on an office server.”
– Brandon Hopkins (TechHut)
Read on for a clear and easy to follow step-by-step guide for how to set up an AIO for a Linux PC sucessfully.
Guide for AIO on Linux
The following instructions are valid for a Linux PC (e.g. with Ubuntu 22.04 LTS) with at least 4GB of RAM and 2 cores.
You will need to obtain a public domain and be able to open ports for the guide to work properly. Make sure that you are not behind CGNAT as it will not work with that either.
In addition, please note that the instructions are for a setup without web server or reverse proxy (like Apache, Nginx, etc.) already being in place. If you want to run it behind a web server or reverse proxy, refer here.
- Install Docker on your Linux installation by following the official documentation. The easiest way is installing it by using the convenience script:
curl -fsSL https://get.docker.com | sudo sh
2. If you need Ipv6 support, you should enable it by following the guide here.
3. Now, open the Terminal and start AIO with this command:
# For Linux and without a web server or reverse proxy (like Apache, Nginx and else) already in place: sudo docker run \ --sig-proxy=false \ --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 \ nextcloud/all-in-one:latest
Note: You may be interested in adjusting Nextcloud’s datadir to store the files in a different location than the default docker volume. See this documentation on how to do it.
4. Next, you can open the AIO interface on
https://the.servers.ip.address:8080. You need to accept the self-signed certificate, afterwards you should see this:
Alternatively, if port 80 and 8443 should be opened in your firewall/router and a domain is configured to point to your server, you can reach the AIO interface with a valid certificate using
5. Click on ‘Open Nextcloud AIO login’ and paste in your password:
6. Then, you should see the AIO interface:
7. Next, type in your public domain that you you’ve got before doing this guide. The interface should help you figuring out which are the exact steps. (Set up DDNS for your domain to point to your public IP, port-forward at least ports 443/tcp, 3478/udp and 3478/tcp to your Linux machine.
8. After you’ve set it up correctly, it should allow you to pass to the next step where you can configure wanted optional add-ons and the timezone and click on Start containers in order to download and start them.
9. At this point, you should see a spinner that will take a while depending on your internet speed ~ around 10min or more.
10. When all containers are downloaded and started, you will see this screen which shows the containers still starting which will do the first installation for you:
11. When everything is done, you should see this screen:
12. Finally you can now open your new Nextcloud instance and log in with the given admin credentials.
That’s it! Everything is set and ready for production! ✨
This AIO manual was created by team member Simon.