Skip to main content
Arct Cloud provides the unmanaged Linux VPS for this deployment. Nextcloud is not preinstalled or managed by Arct Cloud. You are responsible for the application, user data, access controls, backups, and updates.
A synced copy is not a backup. Keep encrypted, tested backups outside the VPS before storing important files in Nextcloud.

Choose a Plan

Nextcloud AIO’s upstream resource guidance reports a minimum of 2 CPU cores, 2 GB RAM, and 40 GB system storage when any optional container is enabled. Some optional services require at least 3 GB RAM; enabling the full set requires at least 4 cores and 5 GB RAM, with 1 GB additional RAM recommended by upstream. Your file library, previews, versions, trash, and backups determine storage needs. Size the disk for growth rather than only the initial upload.

Before You Begin

Prepare the following:
  • A fresh Ubuntu 24.04 server
  • A dedicated hostname such as cloud.example.com
  • An A record pointing the hostname to the server’s public IPv4 address
  • Docker Engine with the Docker Compose plugin, installed from Docker’s official Ubuntu repository
  • An off-server destination for encrypted backups
Remove a stale AAAA record unless IPv6 is configured and reachable. The standard AIO setup expects its own ports and should run on a VPS without another web server or reverse proxy.

Install Nextcloud AIO

Nextcloud All-in-One is the official deployment method. The Compose configuration below follows the upstream production layout and binds the AIO management interface to loopback so it is reachable only through an SSH tunnel.
1

Deploy and Connect

2

Verify Docker

Install Docker Engine and Compose from the official Docker repository, not the Ubuntu Snap package. Then verify both components:
Stop if the last command shows /var/snap/docker/; Snap-based Docker is not supported by Nextcloud AIO.
3

Create the Compose Project

Create /opt/nextcloud-aio/compose.yaml with the following content:
compose.yaml
Do not rename the container or the nextcloud_aio_mastercontainer volume. AIO relies on both names for lifecycle management and backups.
4

Start the Mastercontainer

5

Open the Private AIO Interface

On your local computer, create an SSH tunnel and leave the session open:
Open https://127.0.0.1:8080 in your browser. The self-signed certificate warning on port 8080 is expected. Use the IP address, not your Nextcloud hostname, for this management interface.
6

Complete AIO Setup

Save the AIO passphrase in a password manager, enter cloud.example.com, and select only the optional containers you need. AIO creates the PostgreSQL, Redis, application, and web containers and obtains a public TLS certificate automatically.DNS must already resolve to the VPS, and public ports 80 and 443 must be reachable for certificate issuance and normal access.
7

Secure the First Login

Use the initial Nextcloud credentials shown by AIO to sign in at https://cloud.example.com. Immediately change the administrator password, set a recovery email, enable two-factor authentication, and review Administration settings → Overview for security warnings.Keep the AIO passphrase separate from the Nextcloud administrator password. Do not share either credential or expose the Docker socket through a TCP API.
8

Verify the Deployment

The status endpoint should report installed as true, and the AIO containers should remain running or healthy.

Firewall and Port Safety

Allow SSH before enabling UFW:
Port 443/udp enables HTTP/3 and is optional. Do not open 8080; it is intentionally bound to loopback. Port 8443 is unnecessary when you administer AIO through the SSH tunnel. If you enable Nextcloud Talk, also allow 3478/tcp and 3478/udp for its TURN server. Docker-published ports can bypass some UFW forwarding rules, so publish only the ports you intend to expose and verify reachability from another network.
The read-only Docker socket mount still gives the AIO mastercontainer broad control over Docker through the socket API. Use only the official AIO image, keep this deployment on a dedicated VPS, and never expose the Docker daemon remotely. Upstream documents a manual socket-free deployment, but it removes AIO management and backup features.

Persistent Data and Secrets

AIO stores the application, PostgreSQL database, configuration, and user files in Docker volumes that it manages. Do not run docker system prune --volumes, delete AIO volumes, or manually edit files inside them. Protect these recovery-critical items:
  • The AIO passphrase
  • The Borg backup encryption password
  • The complete Borg backup archive
  • Any external storage mounted through the Nextcloud External Storage app, which is not included automatically in an AIO backup

Back Up and Restore

Configure the built-in BorgBackup section in the AIO interface before uploading important data. Choose a destination with enough free space, save its encryption password outside the VPS, run the first backup, and use AIO’s integrity check. AIO backups include the database, files, and configuration required for a full restore. External storage configured through the External Storage app is excluded and needs its own backup. Copy or synchronize the Borg archive to another system using the upstream lock-file guidance so a transfer cannot race an active backup. To test recovery, create a fresh AIO deployment, choose Restore former AIO instance from backup, and supply the archive location and encryption password. A backup is not proven until a restore has completed successfully.

Update and Roll Back Safely

Use the AIO interface rather than manually updating its child containers:
  1. Read the AIO and Nextcloud release notes.
  2. Run and verify a complete AIO backup.
  3. Select Stop containers.
  4. Apply any offered mastercontainer update.
  5. Select Start and update containers.
  6. Verify login, file upload, sync, background jobs, and Administration settings → Overview.
AIO’s latest channel is its tested stable channel. Do not switch to beta for a production instance. If an update fails, restore the full pre-update AIO backup; manually downgrading individual containers can leave the database and application versions incompatible.

Troubleshooting

Official Resources

Nextcloud AIO Installation

Official installation, network, security, backup, and update guidance.

Nextcloud AIO Repository

Source, Compose example, security policy, and issue tracker.

Nextcloud AIO Releases

Stable release notes and upgrade information.

Server Administration Manual

Current Nextcloud administration and hardening reference.
Nextcloud is developed by Nextcloud GmbH and its community. Arct Cloud is an independent infrastructure provider and is not affiliated with, sponsored by, or endorsed by Nextcloud GmbH.