Cloud-Speicher

Eigene Cloud mit Nextcloud einrichten

Schritt-für-Schritt-Anleitung, um Nextcloud auf einem dataforest Seed einzurichten. Zwei Wege, Coolify oder Docker Compose.

AutorMarvin Strauch
Veröffentlicht am16. Mai 2026
Min. Lesezeit~19 min
Wörter3.200
Schwierigkeit Anfänger
StackNextcloud · Cloud · Dateispeicherung · Docker · Coolify

Diese Anleitung zeigt zwei Wege, Nextcloud auf einem eigenen Server einzurichten: über Coolify (Ein-Klick-Installation) oder per Docker Compose (manuelle Konfiguration mit voller Kontrolle). Nach Abschluss haben Sie eine eigene Cloud-Plattform mit Dateisynchronisierung, Kalender, Kontakten und Office-Funktionen – erreichbar per HTTPS mit automatischem SSL-Zertifikat. Die Einrichtung dauert je nach Weg 10 bis 30 Minuten.

Warum eine eigene Cloud?

Cloud-Speicher wie Google Drive, iCloud oder Dropbox sind bequem, aber Ihre Daten liegen auf Servern eines Drittanbieters. Sie haben keine Kontrolle darüber, wo die Daten gespeichert werden, wer darauf zugreifen kann und was bei Preisänderungen oder einer Kontosperrung passiert.

Mit Nextcloud auf einem eigenen Server haben Sie eine vollwertige Cloud-Plattform: Dateisynchronisierung, Kalender, Kontakte, Videoanrufe, Office-Funktionen und über 400 Apps. Alles auf Ihrer eigenen Infrastruktur in Deutschland.

Diese Anleitung beschreibt zwei Wege zur Installation:

  • Weg A: Über Coolify (empfohlen für Einsteiger): Ein-Klick-Installation, automatisches SSL
  • Weg B: Über Docker Compose (für mehr Kontrolle): manuelle Konfiguration, volle Flexibilität

Nextcloud Docker-Architektur
Nextcloud Docker-Architektur

Voraussetzungen

  • Ein Seed in der dataforest Cloud (empfohlen: 4 CPU, 8 GB RAM; 2 CPU / 4 GB reichen für den Einstieg). Nextcloud benötigt vor allem Arbeitsspeicher für PHP und die Datenbank – bei mehr als 5 gleichzeitigen Nutzern empfiehlt sich das größere Modell.
  • SSH-Zugriff auf den Seed
  • Eine eigene Domain (z.B. cloud.ihre-firma.de), die per DNS A-Record auf die IP-Adresse Ihres Seeds zeigt. Den A-Record setzen Sie bei Ihrem Domain-Anbieter: Tragen Sie dort die IP-Adresse des Seeds als Ziel für die gewünschte Subdomain ein. Nach dem Setzen kann es bis zu einer Stunde dauern, bis der Eintrag weltweit aktiv ist.
  • Für Weg A: Coolify auf dem Seed installiert (siehe Coolify-Guide)

Weg A: Installation über Coolify

Coolify bietet Nextcloud als Ein-Klick-Service. Wenn Sie Coolify bereits nutzen, ist dies der schnellste Weg.

1. Nextcloud-Service anlegen

Öffnen Sie das Coolify-Dashboard und navigieren Sie zu Ihrem Projekt. Klicken Sie auf New Resource und wählen Sie Service. In der Service-Liste suchen Sie nach Nextcloud und wählen es aus.

2. Domain konfigurieren

In den Service-Einstellungen tragen Sie Ihre Domain ein (z.B. cloud.ihre-firma.de). Coolify konfiguriert automatisch ein Let's-Encrypt-Zertifikat für HTTPS.

3. Umgebungsvariablen prüfen

Coolify setzt die nötige Datenbank (PostgreSQL oder MySQL) automatisch auf. Prüfen Sie in den Umgebungsvariablen, dass ein sicheres Passwort für die Datenbank gesetzt ist. Wichtige Variablen:

  • NEXTCLOUD_ADMIN_USER: Benutzername des Admin-Kontos
  • NEXTCLOUD_ADMIN_PASSWORD: Passwort des Admin-Kontos (ändern Sie den Standardwert)
  • NEXTCLOUD_TRUSTED_DOMAINS: Ihre Domain (wird von Coolify automatisch gesetzt)

4. Service starten

Klicken Sie auf Deploy. Coolify lädt das Nextcloud-Image, startet die Container und konfiguriert SSL. Nach wenigen Minuten ist Ihre Cloud unter Ihrer Domain erreichbar.

Weg B: Installation über Docker Compose

Dieser Weg bietet mehr Kontrolle über die Konfiguration und eignet sich, wenn Sie kein Coolify nutzen.

1. Docker und Docker Compose installieren

Nextcloud, die Datenbank und der Reverse Proxy laufen jeweils in einem eigenen Docker-Container. Docker sorgt dafür, dass jede Komponente isoliert und reproduzierbar läuft, ohne das Betriebssystem des Seeds zu verändern.

Verbinden Sie sich per SSH mit Ihrem Seed und installieren Sie Docker. Das offizielle Installationsskript erkennt Ihr Betriebssystem automatisch und richtet Docker inklusive Docker Compose ein:

bash
curl -fsSL https://get.docker.com | sh

2. Projektverzeichnis erstellen

Alle Konfigurationsdateien für die Nextcloud-Installation werden in einem gemeinsamen Verzeichnis abgelegt:

bash
mkdir -p /opt/nextcloud && cd /opt/nextcloud

3. Caddyfile erstellen

Als Reverse Proxy kommt Caddy zum Einsatz. Im Gegensatz zu nginx oder Traefik benötigt Caddy nur wenige Zeilen Konfiguration und holt automatisch ein Let's-Encrypt-Zertifikat für HTTPS – ohne zusätzliche Tools wie certbot.

Erstellen Sie die Datei Caddyfile:

text
cloud.ihre-firma.de {
    reverse_proxy nextcloud:80
}

Ersetzen Sie cloud.ihre-firma.de durch Ihre Domain. Caddy leitet alle Anfragen an den Nextcloud-Container weiter und kümmert sich um die Verschlüsselung.

4. Docker Compose Datei erstellen

Die docker-compose.yml beschreibt alle drei Container und wie sie zusammenarbeiten. Docker Compose startet und vernetzt sie automatisch:

yaml
services:
  caddy:
    image: caddy:2-alpine
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config
    depends_on:
      - nextcloud

  nextcloud:
    image: nextcloud:stable
    restart: always
    volumes:
      - nextcloud_data:/var/www/html
    environment:
      - POSTGRES_HOST=db
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_PASSWORD=SICHERES_PASSWORT_HIER
      - NEXTCLOUD_ADMIN_USER=admin
      - NEXTCLOUD_ADMIN_PASSWORD=ADMIN_PASSWORT_HIER
      - NEXTCLOUD_TRUSTED_DOMAINS=cloud.ihre-firma.de
      - TRUSTED_PROXIES=caddy
      - OVERWRITEPROTOCOL=https
      - OVERWRITECLIURL=https://cloud.ihre-firma.de
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    restart: always
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_PASSWORD=SICHERES_PASSWORT_HIER

volumes:
  nextcloud_data:
  db_data:
  caddy_data:
  caddy_config:

Ersetzen Sie SICHERES_PASSWORT_HIER und ADMIN_PASSWORT_HIER durch sichere Passwörter und cloud.ihre-firma.de durch Ihre Domain.

Zum Aufbau der Datei:

  • restart: always startet jeden Container automatisch neu, falls er abstürzt oder der Server neugestartet wird
  • depends_on legt die Startreihenfolge fest: Die Datenbank startet vor Nextcloud, Nextcloud vor Caddy
  • volumes speichern Daten dauerhaft außerhalb der Container. Ohne Volumes gehen alle Dateien und Datenbankeinträge beim Neustart eines Containers verloren

Die Umgebungsvariablen im Überblick:

  • OVERWRITEPROTOCOL=https sorgt dafür, dass Nextcloud hinter dem Reverse Proxy korrekte HTTPS-Links generiert
  • TRUSTED_PROXIES=caddy teilt Nextcloud mit, dass Anfragen über den Caddy-Container weitergeleitet werden. Ohne diese Einstellung erkennt Nextcloud die echte IP-Adresse der Benutzer nicht und zeigt bei allen Zugriffen die interne Docker-IP an.
  • OVERWRITECLIURL setzt die Basis-URL für Kommandozeilen-Befehle (z.B. für Cron-Jobs und occ-Kommandos)

5. Alles starten

bash
docker compose up -d

Die Option -d (detached) startet die Container im Hintergrund, sodass sie auch nach dem Schließen der SSH-Verbindung weiterlaufen.

Der erste Start dauert einige Minuten. Docker lädt die Images herunter, Caddy holt ein Let's-Encrypt-Zertifikat und Nextcloud richtet die Datenbank ein.

6. Prüfen ob alles läuft

bash
docker compose ps

Alle drei Container (caddy, nextcloud, db) sollten den Status running zeigen. Falls ein Container nicht startet, zeigen die Logs den Fehler:

bash
docker compose logs nextcloud

Rufen Sie anschließend https://cloud.ihre-firma.de im Browser auf. Sie sollten die Nextcloud-Anmeldeseite sehen.

Erster Login und Grundkonfiguration

Rufen Sie Ihre Domain im Browser auf (z.B. https://cloud.ihre-firma.de). Melden Sie sich mit dem Admin-Konto an, das Sie in den Umgebungsvariablen konfiguriert haben.

Empfohlene erste Schritte

  1. Admin-Passwort ändern, falls Sie einen Standardwert verwendet haben
  2. Weitere Nutzer anlegen unter Einstellungen > Benutzer. Jeder Nutzer erhält ein eigenes Konto mit eigenem Speicherplatz.
  3. Apps installieren: Unter Apps finden Sie Kalender, Kontakte, Talk (Videoanrufe), Nextcloud Office und hunderte weitere Erweiterungen. Kalender und Kontakte sind besonders empfehlenswert, da sie Google- und Apple-Dienste vollständig ersetzen können.
  4. E-Mail-Versand konfigurieren unter Einstellungen > Grundeinstellungen. Ohne E-Mail-Konfiguration kann Nextcloud keine Benachrichtigungen bei geteilten Dateien, keine Passwort-Zurücksetzen-Mails und keine Kalendereinladungen versenden. Sie benötigen dafür einen SMTP-Server (z.B. den Ihres E-Mail-Anbieters).
  5. Hintergrundaufgaben auf "Cron" umstellen unter Einstellungen > Grundeinstellungen. Im Standard-Modus „AJAX" werden Wartungsaufgaben (wie das Löschen alter Dateiversionen, das Generieren von Vorschaubildern und das Versenden von Benachrichtigungen) nur dann ausgeführt, wenn ein Benutzer die Weboberfläche öffnet. Im Cron-Modus laufen diese Aufgaben regelmäßig im Hintergrund, unabhängig davon ob jemand eingeloggt ist. Das macht Nextcloud deutlich reaktionsschneller.

Desktop- und Mobile-Clients einrichten

Desktop (Windows, macOS, Linux)

Laden Sie den Nextcloud Desktop Client herunter und installieren Sie ihn. Beim ersten Start geben Sie die Server-Adresse ein (z.B. https://cloud.ihre-firma.de) und melden sich an. Wählen Sie die Ordner, die synchronisiert werden sollen.

Smartphone (iOS, Android)

Installieren Sie die Nextcloud App aus dem App Store oder Google Play Store. Melden Sie sich mit Ihrer Server-Adresse und Ihren Zugangsdaten an.

Für automatisches Foto-Backup: Öffnen Sie in der App Einstellungen > Automatisches Hochladen und aktivieren Sie es für Fotos und optional für Videos.

Kalender und Kontakte synchronisieren

Nextcloud unterstützt die offenen Protokolle CalDAV (für Kalender) und CardDAV (für Kontakte). Diese Protokolle werden von den meisten Betriebssystemen und Apps nativ unterstützt – Ihre Nextcloud-Termine und Kontakte erscheinen direkt in den Standard-Apps Ihres Geräts:

  • iOS: Einstellungen > Kalender/Kontakte > Account hinzufügen > Andere > CalDAV/CardDAV-Account. Server-Adresse: https://cloud.ihre-firma.de
  • Android: Installieren Sie DAVx5 und fügen Sie Ihren Nextcloud-Account hinzu. Kalender und Kontakte synchronisieren sich automatisch mit den Standard-Apps.
  • Thunderbird: Kalender > Neuen Kalender anlegen > Im Netzwerk > CalDAV-URL aus den Nextcloud-Einstellungen eintragen.

Backup einrichten

Datenbank-Backup

Bei Weg A (Coolify) können Sie automatische Datenbank-Backups direkt im Coolify-Dashboard konfigurieren.

Bei Weg B erstellen Sie ein regelmäßiges Backup der PostgreSQL-Datenbank. Legen Sie zunächst das Backup-Verzeichnis an:

bash
mkdir -p /opt/backups

Ein einzelnes Backup lässt sich jederzeit manuell erstellen:

bash
docker exec nextcloud-db-1 pg_dump -U nextcloud nextcloud > /opt/backups/nextcloud-db-$(date +%Y%m%d).sql

Dieser Befehl führt pg_dump im Datenbank-Container aus und speichert die gesamte Nextcloud-Datenbank in einer SQL-Datei mit dem aktuellen Datum im Dateinamen.

Damit das Backup automatisch läuft, richten Sie einen Cronjob ein. Ein Cronjob ist ein zeitgesteuerter Befehl, der vom Betriebssystem regelmäßig ausgeführt wird:

bash
crontab -e

Fügen Sie folgende Zeile hinzu:

text
0 3 * * * docker exec nextcloud-db-1 pg_dump -U nextcloud nextcloud > /opt/backups/nextcloud-db-$(date +\%Y\%m\%d).sql

Die fünf Werte 0 3 * * * bedeuten: Minute 0, Stunde 3, jeden Tag, jeden Monat, jeden Wochentag – das Backup wird also täglich um 03:00 Uhr nachts erstellt.

Dateiverzeichnis sichern

Das Nextcloud-Datenverzeichnis enthält alle hochgeladenen Dateien. Bei Docker liegt es im Volume nextcloud_data. Den Speicherort des Volumes auf dem Host-System finden Sie mit:

bash
docker volume inspect nextcloud_nextcloud_data --format '{{ .Mountpoint }}'

Dieses Verzeichnis sollte regelmäßig gesichert werden, zum Beispiel mit rsync auf ein externes System.

Server-Backup über dataforest Cloud

Die dataforest Cloud bietet automatische tägliche Offsite-Backups als zubuchbare Option. Damit lassen sich alle Daten auf Ihrem Seed sichern und jederzeit wiederherstellen. Backups sind nicht standardmäßig aktiv und müssen in der Cloud-Konsole aktiviert werden.

Fehlerbehebung

Nextcloud ist nicht erreichbar: Prüfen Sie, ob alle Container laufen (docker compose ps). Falls der Caddy-Container nicht startet, ist möglicherweise Port 80 oder 443 bereits durch einen anderen Dienst belegt (ss -tlnp | grep -E ':80|:443').

Kein HTTPS-Zertifikat: Caddy benötigt eine Domain, die per DNS auf die IP-Adresse des Seeds zeigt. Prüfen Sie mit dig +short cloud.ihre-firma.de, ob der A-Record korrekt gesetzt ist. Caddy zeigt Zertifikatsfehler in seinen Logs: docker compose logs caddy.

Nextcloud zeigt „Access through untrusted domain": Die Domain stimmt nicht mit NEXTCLOUD_TRUSTED_DOMAINS in der docker-compose.yml überein. Korrigieren Sie den Wert und starten Sie den Container neu: docker compose up -d.

Langsame Performance: Stellen Sie die Hintergrundaufgaben von „AJAX" auf „Cron" um (siehe Empfohlene erste Schritte). Richten Sie dafür einen Cronjob auf dem Host ein, der alle 5 Minuten die Nextcloud-Wartungsaufgaben auslöst:

text
*/5 * * * * docker exec -u www-data nextcloud-nextcloud-1 php cron.php

Tragen Sie diese Zeile per crontab -e ein. */5 bedeutet „alle 5 Minuten". Wählen Sie anschließend in den Nextcloud-Einstellungen unter Grundeinstellungen „Cron" als Methode für Hintergrundaufgaben.

Zusammenfassung

Nach Abschluss dieser Anleitung ist eine eigene Nextcloud-Instanz eingerichtet, die per HTTPS erreichbar ist und automatische Backups erstellt. Dateien, Kalender und Kontakte lassen sich über die Desktop- und Mobile-Apps synchronisieren.

Wer Nextcloud als Einstieg in die dataforest Cloud nutzt: Der Seed ist ein vollwertiger Linux-Server und lässt sich parallel auch für andere Dienste nutzen. Eine Übersicht weiterer Möglichkeiten bieten unsere Lösungen und Anleitungen.

Bereit loszulegen?

Erstellen Sie Ihren ersten Seed und starten Sie in wenigen Minuten.