Skip to main content

Nextcloud on a VDS: your own cloud for files and calendars

Cloud & DevOps · 18.10.2026 · 4 min read
Illustration for “Nextcloud on a VDS: your own cloud for files and calendars”

Nextcloud is a self-hosted platform for storing files, calendars, and contacts that can be deployed on your own VDS as an alternative to cloud services like Google Drive. All the data stays on a server that the owner rents and administers, not a third-party company.

Why run Nextcloud on your own VDS

The main reason to move a file cloud to your own server is control over where the data physically sits, and no storage limit imposed by a third-party plan. The available disk space is limited only by the VDS's own disk, not by a subscription tier.

Nextcloud fits a team or a family that needs shared files, a calendar, and contacts in one place. For a single user who only needs to sync a couple of folders, running a separate server is overkill — a ready cloud service is simpler.

What the server needs for Nextcloud

Nextcloud is deployed through Docker — setting up Docker on a VDS is covered in the article on setting up Docker on a VPS. The standard set of web server, PHP, and database containers comes up with a single Docker Compose command.

For several active users with the calendar and notes apps enabled, 2 to 4 GB is comfortable. Disk space depends only on the volume of files that will be stored, and needs to be sized separately for the specific case.

Comparing Nextcloud with cloud storage

On basic file storage functions the difference between Nextcloud and a ready cloud is small; it shows up in who is responsible for the infrastructure.

ParameterCloud serviceNextcloud on your own VDS
Where the data is storedon the cloud provider's serverson your own server
Storage limitdepends on the provider's plandepends on the VDS disk
Updates and backupshandled by the providerhandled by the server administrator
Apps (calendar, notes, chat)separate servicesmodules inside one system

Installation and domain setup

Nextcloud's files and settings are described in one docker-compose.yml together with the database container.

# Running Nextcloud and MariaDB through Docker Compose
docker compose up -d
# By default Nextcloud listens on port 80, the domain is connected through a reverse proxy

After the containers start, the remaining steps are to attach a domain and issue an SSL certificate so Nextcloud opens over HTTPS on port 443 — how to do that with Nginx and Certbot is covered in the article on setting up SSL on Nginx.

What to do when Nextcloud is slow or will not open

Most performance and availability problems come down to a handful of checks.

  1. Check the PHP log — the upload_max_filesize limit (2 MB by default) and post_max_size (8 MB by default) often need to be raised by hand to upload larger files.
  2. Make sure background jobs run through system cron every 5 minutes, instead of the web cron, which only works while a page is open.
  3. Check free disk space — Nextcloud stops accepting new files once the disk is nearly full.
  4. Check the app log in the Administration section — it shows errors for specific modules.
  5. Set up a backup of the data to external storage — how to connect it through rclone is covered in the article on backing up a VPS to cloud storage.

Frequently asked questions

Does Nextcloud need a dedicated server?

No, Nextcloud can run on the same VDS where other containers are already running, as long as the server has enough resources and the ports do not conflict with other services.

What happens to the files if the VDS fails?

Without a separate backup, the files are lost along with the server's disk — which is exactly why a backup should be kept somewhere other than the same VDS, in separate storage.

Can mobile apps connect to Nextcloud?

Yes, Nextcloud has official apps for syncing files, calendar, and contacts that connect to the server at the same address as the web interface.

Was this article helpful?
← Back to Knowledge Base Ask Support