Tutorial

How to Self-Host Nextcloud: Secure, GDPR-Ready, Fast

This tutorial shows you how to self-host Nextcloud — sized correctly, secured with HTTPS, backed up in a GDPR-compliant way, and noticeably faster thanks to local NVMe than it would be on shared web hosting.

See Nextcloud hosting

Nextcloud replaces Dropbox, Google Drive and parts of Microsoft 365 with a platform that runs on your own server. The appeal is data sovereignty: files, calendars and contacts stay in the EU rather than with a US corporation. The trade-off is responsibility — updates, backups and performance tuning are on you.

Sizing: how big does the server need to be?

Rule of thumb: budget 1–2 GB of RAM per active user, plus enough storage for files with headroom for versions and the trash bin. A small team runs comfortably on a cloud server with 2–4 vCPUs and 8 GB of RAM; what really drives the feeling of speed is storage latency rather than CPU — which is why local NVMe is the biggest lever.

How to install Nextcloud — step by step

  1. Size the server: pick a cloud server with enough RAM (1–2 GB per active user as a guide) and local NVMe for low I/O latency — that decides how snappy it feels day to day.
  2. Set up the base: install a recent Linux, a web server (Nginx or Apache), PHP with the required extensions, and a database (MariaDB or PostgreSQL).
  3. Deploy Nextcloud: roll it out via the release archive or a Docker image, connect the data directory and database, and run through the setup wizard.
  4. Enforce HTTPS: issue a TLS certificate via Let's Encrypt, permanently redirect HTTP to HTTPS, and enable HSTS — no production use without encryption.
  5. Tune performance: enable Redis for file locking and caching, configure a real cron job instead of the AJAX background jobs, and keep the files on local NVMe .
  6. Automate backups: regularly back up a database dump plus the data directory, and complement it with server-level snapshot backups — tested, not just configured.
  7. Plan for maintenance: apply Nextcloud and server updates promptly, watch the security scan in the admin area, and keep an eye on the logs.

GDPR and backups

Self-hosting in Frankfurt keeps your data in the EU and out of reach of the US CLOUD Act. For data processing we provide a DPA on request; our guide GDPR-compliant hosting adds context. Important: GDPR compliance does not end at installation — it demands tested backups you can actually restore at any time.

Performance in practice

The most common reason for a sluggish Nextcloud is not the CPU but poorly configured caching and slow storage. With the right settings, even a small server feels fluid — and the same hardware carries noticeably more users.

  • Use Redis: in-memory caching and file locking via Redis offload the database and speed up many clicks noticeably.
  • Enable PHP OPcache and JIT and size them generously so the code is not re-parsed on every request.
  • Pre-generate preview thumbnails instead of computing them on first open — that relieves both server and client.
  • Maintain the database: add missing indexes and optimize regularly so file listings stay fast even with many objects.
  • Keep files and database on local NVMe ; shared network storage adds noticeable latency under Nextcloud's many small accesses.

The maintenance reality

Frequently asked questions