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:
Bei der Docker-Variante übernimmt das ein zusätzlicher Container mit dem Kommandosudo crontab -u www-data -e */5 * * * * php -f /var/www/cloud.deinedomain.de/cron.phpphp -f /var/www/html/cron.php. - Memory-Cache aktivieren. Trage in
config/config.phpRedis oder APCu ein - ohne Cache fühlt sich die Oberfläche deutlich träger an. - Wartungsfenster setzen. Mit
maintenance_window_startlegst 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
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