Privatkunde Geschäftskunde

Nextcloud auf dem vServer installierenEigene Cloud für Dateien, Kalender und Kontakte

Nextcloud ersetzt Dropbox, Google Drive und Google Kalender durch eine Installation auf deinem eigenen Server in Deutschland. Diese Anleitung zeigt beide gängigen Wege - klassisch mit nginx und PHP oder per Docker Compose - und was du bei der Tarifwahl beachten solltest.

NextcloudDocker oder nativDSGVO-freundlich60 Minuten

Warum Nextcloud auf dem eigenen vServer?

Nextcloud ist freie Software und bündelt in einer Oberfläche, wofür sonst mehrere Dienste nötig wären: Dateiablage mit Synchronisation auf alle Geräte, Kalender und Kontakte per CalDAV und CardDAV, Notizen, Aufgaben, Fotoalben und auf Wunsch auch gemeinsame Dokumentenbearbeitung.

Der entscheidende Unterschied zu den bekannten Anbietern: Die Daten liegen auf deinem Server, in einem Rechenzentrum in Deutschland, und niemand außer dir hat Zugriff darauf. Für private Daten ist das eine Frage der Haltung, für Vereine und kleine Unternehmen oft eine Frage der Rechtssicherheit.

Der Preis dafür ist Verantwortung: Updates, Backups und Absicherung liegen bei dir. Wer das nicht möchte, ist mit einem gehosteten Dienst besser bedient - das gehört zu einer ehrlichen Empfehlung dazu.

Voraussetzungen und Tarifwahl

Der Speicherplatz deiner Nextcloud ist der NVMe-Speicher deines vServers. Rechne also grob so:

  • Tarif S: reine Kalender- und Kontaktverwaltung, wenige Dokumente, ein bis zwei Nutzer.
  • Tarif M: persönliche Dateiablage mit Dokumenten und Fotos, ein bis drei Nutzer. Die sinnvolle Einstiegsgröße für die meisten.
  • Tarif L oder XL: Familie, Verein oder kleines Team, größere Mediensammlungen, Volltextsuche oder Office-Integration.

Nextcloud selbst braucht vor allem Arbeitsspeicher, sobald mehrere Clients gleichzeitig synchronisieren. Unter 2 GB RAM wird der Betrieb zäh. Ein Upgrade ist jederzeit ohne Datenverlust möglich, du kannst also klein anfangen.

Außerdem brauchst du eine Domain, die auf deinen vServer zeigt - ohne sie gibt es kein SSL-Zertifikat, und ohne HTTPS weigern sich die Nextcloud-Clients zu Recht, sich zu verbinden.

Variante A: Installation per Docker Compose

Der schnellste Weg, wenn du dich mit Docker anfreunden kannst. Voraussetzung ist eine funktionierende Docker-Installation - siehe Docker auf dem vServer installieren.

Lege ein Verzeichnis und eine Compose-Datei an:

mkdir -p ~/stacks/nextcloud && cd ~/stacks/nextcloud
nano compose.yaml
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - dbdata:/var/lib/mysql
    environment:
      MARIADB_ROOT_PASSWORD: langes-zufallspasswort-eins
      MARIADB_PASSWORD: langes-zufallspasswort-zwei
      MARIADB_DATABASE: nextcloud
      MARIADB_USER: nextcloud

  redis:
    image: redis:alpine
    restart: unless-stopped

  app:
    image: nextcloud:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:80"
    depends_on:
      - db
      - redis
    volumes:
      - nextcloud:/var/www/html
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: langes-zufallspasswort-zwei
      REDIS_HOST: redis
      NEXTCLOUD_TRUSTED_DOMAINS: cloud.deinedomain.de

volumes:
  dbdata:
  nextcloud:

Starten:

docker compose up -d
docker compose logs -f app

Beachte die Portangabe 127.0.0.1:8080:80. Nextcloud ist damit zunächst nur vom Server selbst erreichbar - so soll es sein. Nach außen stellst du gleich einen Reverse Proxy davor, der TLS übernimmt.

Der Redis-Container ist optional, aber sehr empfehlenswert: Er übernimmt das Datei-Locking und beschleunigt die Oberfläche spürbar.

Variante B: Klassische Installation

Wer keinen Docker möchte, installiert Nextcloud direkt. Voraussetzung sind nginx, PHP-FPM und MariaDB - die Einrichtung beschreibt der Ratgeber Webserver einrichten.

Zusätzliche PHP-Erweiterungen, die Nextcloud erwartet:

sudo apt install php-gd php-mbstring php-intl php-bcmath php-gmp php-imagick php-zip php-curl php-xml php-apcu -y

Datenbank anlegen:

sudo mariadb
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'langes-zufallspasswort';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Nextcloud herunterladen und entpacken:

cd /tmp
curl -LO https://download.nextcloud.com/server/releases/latest.zip
sudo apt install unzip -y
unzip latest.zip
sudo mv nextcloud /var/www/cloud.deinedomain.de
sudo chown -R www-data:www-data /var/www/cloud.deinedomain.de

Anschließend legst du einen nginx-Server-Block für cloud.deinedomain.de mit root /var/www/cloud.deinedomain.de; an und schließt die Installation im Browser ab.

Reverse Proxy und SSL-Zertifikat

Für die Docker-Variante brauchst du nginx auf dem Host als Vermittler. Er nimmt HTTPS-Anfragen entgegen und reicht sie an den Container weiter:

sudo nano /etc/nginx/sites-available/cloud.deinedomain.de
server {
    listen 80;
    server_name cloud.deinedomain.de;

    client_max_body_size 10G;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Die Zeile client_max_body_size ist wichtiger, als sie aussieht: Ohne sie scheitert jeder Upload über der nginx-Standardgrenze von 1 MB.

sudo ln -s /etc/nginx/sites-available/cloud.deinedomain.de /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d cloud.deinedomain.de

Danach ist deine Nextcloud unter https://cloud.deinedomain.de erreichbar. Beim ersten Aufruf legst du das Administratorkonto an.

Nach der Installation: die wichtigen Handgriffe

Nextcloud zeigt unter Verwaltung > Übersicht eine Liste offener Punkte. Die drei häufigsten:

  • Hintergrundaufgaben auf Cron umstellen. Die Standardeinstellung AJAX führt Wartungsaufgaben nur aus, wenn jemand die Seite öffnet - unzuverlässig. Stelle in den Einstellungen auf Cron um und richte einen Systemjob ein:
    sudo crontab -u www-data -e
    */5 * * * * php -f /var/www/cloud.deinedomain.de/cron.php
    Bei der Docker-Variante übernimmt das ein zusätzlicher Container mit dem Kommando php -f /var/www/html/cron.php.
  • Memory-Cache aktivieren. Trage in config/config.php Redis oder APCu ein - ohne Cache fühlt sich die Oberfläche deutlich träger an.
  • Wartungsfenster setzen. Mit maintenance_window_start legst du fest, wann Nextcloud rechenintensive Aufgaben erledigt.

Anschließend verbindest du die Clients: Die Desktop-Anwendung gibt es für Windows, macOS und Linux, dazu Apps für Android und iOS. Kalender und Kontakte bindest du per CalDAV beziehungsweise CardDAV ein - die passenden Adressen zeigt Nextcloud in den Einstellungen an.

Updates und Backups

Nextcloud aktualisierst du je nach Installationsvariante unterschiedlich. Bei Docker ziehst du das neue Image und startest den Stack neu:

cd ~/stacks/nextcloud
docker compose pull
docker compose up -d

Bei der klassischen Installation nutzt du den eingebauten Updater in der Weboberfläche oder die Kommandozeile per occ upgrade. Wichtig in beiden Fällen: Überspringe keine Hauptversionen. Nextcloud unterstützt nur den Sprung auf die jeweils nächste Major-Version.

Für ein vollständiges Backup brauchst du drei Dinge: das Datenverzeichnis, einen Dump der Datenbank und die Datei config/config.php. Fehlt eines davon, ist die Wiederherstellung mühsam bis unmöglich. Wie du das automatisierst, steht im Ratgeber Backups einrichten.

Vor jedem größeren Update gilt: erst Backup, dann aktualisieren. Bei einer selbst betriebenen Cloud gibt es keinen Anbieter, der die Daten für dich zurückholt.

Häufige Fragen

Für persönliche Nutzung mit Dokumenten und Fotos ist der Tarif M die sinnvolle Einstiegsgröße. Reine Kalender- und Kontaktverwaltung läuft auch auf S. Für eine Familie, einen Verein oder ein kleines Team mit größeren Mediensammlungen sind L oder XL passender. Entscheidend ist neben dem NVMe-Speicher vor allem der Arbeitsspeicher: Unter 2 GB RAM wird der Betrieb zäh, sobald mehrere Clients gleichzeitig synchronisieren.

Genau so viel, wie dein vServer-Tarif an NVMe-Speicher mitbringt - abzüglich Betriebssystem, Datenbank und Anwendung. Rechne mit einigen Gigabyte Abzug. Reicht der Platz nicht mehr, wechselst du per Ticket ohne Datenverlust in einen größeren Tarif.

Ja, in beiden Varianten. Die klassische Installation mit nginx, PHP und MariaDB läuft ohnehin problemlos. Und weil auf unseren vServern Nesting aktiviert ist, funktioniert auch die Docker-Variante. Kernel-Module oder verschachtelte Virtualisierung braucht Nextcloud nicht.

Ja. Ohne Domain gibt es kein SSL-Zertifikat von Let's Encrypt, und ohne HTTPS verweigern die Nextcloud-Clients aus gutem Grund die Verbindung. Üblich ist eine Subdomain wie cloud.deinedomain.de, die per A-Record auf die IP-Adresse deines vServers zeigt.

So sicher, wie du den Server betreibst. Die Daten liegen in einem Rechenzentrum in Deutschland und niemand außer dir hat Zugriff darauf - das ist der Vorteil. Der Preis: Updates, Absicherung und Backups liegen vollständig bei dir. Aktuelle Versionen, ein abgesicherter SSH-Zugang, eine enge Firewall und regelmäßige Sicherungen auf ein externes Ziel sind Pflicht, nicht Kür.

Technisch ja, ressourcentechnisch solltest du das einplanen. Der Dokumentenserver ist die mit Abstand hungrigste Komponente einer Nextcloud-Installation und braucht spürbar Arbeitsspeicher. Auf kleinen Tarifen führt das zu Aussetzern. Plane dafür mindestens den Tarif L ein.

vServer für deine eigene Cloud

Der Speicherplatz deiner Nextcloud ist der NVMe-Speicher deines Tarifs. Für persönliche Daten reicht meist M, für eine Familie oder ein kleines Team sind L oder XL sinnvoll. Standort Frankfurt am Main, prepaid ohne Vertragsbindung.

vServer-Tarife & Preise ansehen