Nextcloud Hub 26 Summer:
Autonomy for Teams, Office on desktop, a fresh take on Photos
Explore what’s new in the release blog!
Running your own Nextcloud gives you full control over your files, calendars, chats, and documents, but setting up a server stack by hand can be intimidating. With Nextcloud All-in-One (AIO), you can start a single Docker container and a browser-based interface handles the rest, from domain checks and certificates to optional add-ons, backups, and updates.
In this guide, we walk you through every step of installing Nextcloud AIO on a Windows 11 PC, from installing Docker Desktop to logging in to your new Nextcloud instance and setting up backups. If you’re on Linux, check out our Nextcloud AIO guide for Linux instead.
What is Nextcloud All-in-One?
Nextcloud All-in-One is a Docker-based project that allows you to install just one container that does the heavy lifting of creating and managing all containers needed for a complete Nextcloud installation. It provides easy deployment and maintenance of Nextcloud’s features, a user-friendly interface, stress-free updates, and a straightforward approach for getting everything to work out of the box.
Nextcloud AIO includes:
- Nextcloud
- High-performance backend for Nextcloud Files
- Redis and APCu for fast caching, and PostgreSQL as the database
- Optional:
- Nextcloud Office
- High-performance backend for Nextcloud Talk and TURN server
- Nextcloud Talk Recording Server
- Backup solution (based on BorgBackup)
- Imaginary (for previews of HEIC, HEIF, Illustrator, PDF, SVG, TIFF, and WEBP files)
- ClamAV (antivirus backend for Nextcloud)
- Fulltextsearch
- Whiteboard
- Docker Socket Proxy (needed for Nextcloud AppAPI)
- Community containers
Nextcloud AIO is free for up to 100 users. If you need more, Nextcloud Enterprise has you covered.
Requirements
Before you start, make sure your setup meets the following requirements:
- A Windows 11 PC with an x64 CPU, at least 8 GB of RAM, and four cores. Docker Desktop runs your containers in a lightweight virtual machine, so Windows needs more resources than a Linux server for the same setup.
- Hardware virtualization enabled in your PC’s BIOS/UEFI settings, which Docker Desktop needs to run. See the Docker Desktop system requirements for Windows for details.
- Suitable storage: An SSD is recommended. HDDs work but are noticeably slower.
- A domain. You can use a domain you already own, or, if you don’t have one, Nextcloud AIO can register a free deSEC domain for you during setup (see Step 4).
- The ability to open ports in your firewall or router, so your Nextcloud is reachable from the internet. Make sure that you are not behind CGNAT. If you use the free deSEC domain, you can skip port forwarding for now and do it later, once you want to make your instance publicly accessible. If you can’t open ports at all or don’t want your instance to be reachable from the internet, take a look at the guides for running Nextcloud AIO via Tailscale or running Nextcloud AIO locally.
Please note that this guide is for a setup without a web server or reverse proxy (like Apache, nginx, etc.) already in place. If you want to run Nextcloud AIO behind a web server or reverse proxy, check the corresponding documentation page.
Step 1: Install Docker Desktop
On Windows, you run Nextcloud AIO with Docker Desktop, which uses the Windows Subsystem for Linux (WSL 2) in the background.
Download Docker Desktop for Windows and run the installer. When asked about the configuration, keep the option to use WSL 2 enabled.
When the installation has finished, click on “Close and restart” to restart your PC.
After the restart, open Docker Desktop and accept the Docker Subscription Service Agreement. You can skip the sign-in and the welcome survey.
⚠️ If Docker Desktop tells you that WSL needs to be updated, open the Command Prompt and run:
wsl --updateThen restart Docker Desktop.
You should now see the Docker Desktop home screen.
Since Nextcloud AIO should keep running after you restart your PC, open the Docker Desktop settings and, under General, enable Start Docker Desktop when you log in.
If you need IPv6 support, follow the instructions for how to enable IPv6 for Docker.
Step 2: Start the Nextcloud AIO mastercontainer
Nextcloud AIO uses a special container, the mastercontainer, to create and manage all the other containers in your Nextcloud setup.
Open the Command Prompt (search for “cmd” in the Start menu), then start the mastercontainer with this command:
docker run ^
--init ^
--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 ^
--env NEXTCLOUD_DATADIR="/run/desktop/mnt/host/c/ncdata" ^
ghcr.io/nextcloud-releases/all-in-one:latest
⚠️ Use the Command Prompt, not PowerShell. The
^at the end of each line tells the Command Prompt that the command continues on the next line, and PowerShell doesn’t understand it.
The NEXTCLOUD_DATADIR line tells Nextcloud AIO to store your files in a folder on your Windows drive instead of inside Docker, so you can easily access them from Windows. In this example, /run/desktop/mnt/host/c/ncdata stands for C:\ncdata. To use a different folder, keep the /run/desktop/mnt/host/ part and append the drive letter and path, e.g., /run/desktop/mnt/host/d/nextcloud for D:\nextcloud.
A few things to keep in mind about this command:
- Choose your data folder now. You can’t change it after the initial installation without extra steps.
- Use an internal drive (SATA or NVMe) for the data folder. External drives, like USB drives or network drives, don’t work.
- Don’t change the container name (
nextcloud-aio-mastercontainer) or the volume name (nextcloud_aio_mastercontainer). Updates of the mastercontainer and the built-in backups depend on them. - If port 8080 is already in use on your PC, you can map the Nextcloud AIO interface to a different host port, e.g.,
--publish 8081:8080.
Step 3: Open the Nextcloud AIO interface and log in
Once the mastercontainer is running, open the Nextcloud AIO interface in your browser at https://localhost:8080.
⚠️ Always use
localhostor an IP address, not a domain, when you access port 8080. Otherwise, HSTS might block access to the interface later.
Port 8080 uses a self-signed certificate, so you need to accept the certificate warning in your browser. Then you should see a screen showing your Nextcloud AIO passphrase.