Nextcloud auf dem UGREEN NAS einrichten: Anleitung mit Docker
Nextcloud ist eine selbst gehostete Cloud-Plattform für Dateisynchronisation, Kalender, Kontakte und kollaboratives Arbeiten. Auf einem UGREEN NAS mit Docker-Unterstützung betreibst du die Plattform auf deinem eigenen Speicher und behältst mehr Kontrolle über Zugriff, Speicherort und Benutzerverwaltung.

Wichtige Erkenntnisse
- Dieser Artikel verwendet den klassischen Docker-Compose-Weg mit MariaDB und Redis. Nextcloud AIO ist der offiziell stärker geführte Ansatz, setzt aber eine sauber geplante Domain- und HTTPS-Konfiguration voraus.
- Die Datenbank gehört auf schnellen lokalen Speicher (SSD, falls verfügbar), nicht auf eine Netzwerkfreigabe. SQLite reicht nur für Tests oder sehr einfache Einzelbenutzer-Installationen ohne Client-Synchronisierung.
- Trusted Domains sind eine häufige Fehlerquelle nach der Installation. Wenn Nextcloud die Meldung „Zugriff über eine nicht vertrauenswürdige Domain“ zeigt, fehlt die aktuelle Zugriffs-IP oder der verwendete Hostname in der Konfiguration.
- Remote-Zugriff von unterwegs funktioniert am zuverlässigsten über ein VPN wie Tailscale oder WireGuard beziehungsweise über eine eigene Domain mit HTTPS-Reverse-Proxy. Leite den unverschlüsselten lokalen Nextcloud-Port nicht direkt aus dem Internet auf dein NAS weiter. Wenn du die verschiedenen Zugriffswege auf einem UGREEN NAS vergleichen möchtest, findest du in der UGREEN-Anleitung zum NAS-Fernzugriff einen Überblick über UGREENlink, DDNS und Tailscale sowie grundlegende Sicherheitshinweise.
- Nextcloud synchronisiert Dateien zwischen Geräten, ersetzt aber kein NAS-Backup. Datenverzeichnis, Datenbank und Konfigurationsdateien müssen gemeinsam und konsistent gesichert werden. Wie du ein UGREEN NAS in eine umfassendere Sicherungsstrategie einbindest und automatische Backups planst, erfährst du in der UGREEN-Anleitung zum Einrichten eines NAS für Backups.
Vor der Installation: die richtige Methode wählen
Für ein NAS-Setup gibt es vor allem zwei realistische Installationsoptionen: einen klassischen Docker-Compose-Stack oder Nextcloud AIO. Portainer kann zusätzlich als grafische Oberfläche zur Verwaltung eines Compose-Stacks verwendet werden, ist aber keine eigenständige Nextcloud-Installationsmethode.
| Methode oder Werkzeug | Geeignet für | Vorteil | Einschränkung |
|---|---|---|---|
| Docker Compose | Nutzer, die NAS-Pfade und Dienste kontrollieren möchten | transparente Konfiguration | mehr manuelle Einrichtung |
| Nextcloud AIO | Nutzer mit Domain-, HTTPS- und Fernzugriffsplan | stärker geführter Stack | weniger flexibel bei Struktur und Betrieb |
| Portainer | Nutzer, die einen Compose-Stack lieber über eine Weboberfläche verwalten | komfortable Stack-Verwaltung | ersetzt kein Compose-Verständnis |
AIO ist sinnvoll, wenn du eine Nextcloud-Instanz mit eigener Domain, HTTPS-Zertifikat und den von AIO bereitgestellten Zusatzkomponenten (Collabora, Talk, Backup) gezielt nutzen möchtest. Für eine rein lokale Installation oder den Einstieg in Nextcloud auf dem NAS ist der Compose-Stack oft der direktere Weg.
Voraussetzungen auf dem UGREEN NAS
Nextcloud läuft als Docker-Compose-Stack. Voraussetzung ist ein UGREEN-Modell, das Docker offiziell unterstützt. Die DXP-Serie und das DH4300 Plus bringen die Docker-App in UGOS Pro mit. Das DH2300 unterstützt Docker offiziell nicht und ist für diese Installation nicht geeignet.
RAM, Speicher und Datenbank realistisch planen
Ein Nextcloud-Stack mit MariaDB und Redis erzeugt weniger Grundlast als etwa Immich mit Machine Learning, stellt aber Anforderungen an stabile Ressourcen. Der konkrete RAM-Bedarf hängt von der Nutzerzahl, den aktivierten Apps, der Dateimenge und der Sync-Aktivität ab. Für ein Heim-Setup mit wenigen Nutzern sollte das NAS nicht knapp dimensioniert sein.
Für die Datenbank gilt dieselbe Empfehlung wie bei Immich: MariaDB gehört auf schnellen lokalen Speicher. Auf UGREEN-Modellen mit M.2-Slots ist ein NVMe-Volume ein besonders geeigneter Speicherort. Netzwerkfreigaben sind als Datenbankstandort nicht geeignet, weil Latenz und Verbindungsabbrüche die Nextcloud-Stabilität direkt beeinträchtigen.

Projektordner und persistente Datenordner anlegen
Bevor du die Konfigurationsdateien erstellst, lege die Ordnerstruktur auf dem NAS an. Öffne die App Dateien in UGOS Pro und erstelle im freigegebenen Ordner „Docker“ einen Ordner nextcloud mit folgenden Unterordnern:
| Ordner | Beispielpfad | Zweck |
|---|---|---|
| app | /volume1/docker/nextcloud/app |
Nextcloud-Anwendungsdateien und Konfiguration (config.php) |
| data | /volume1/docker/nextcloud/data |
Benutzerdateien und hochgeladene Inhalte |
| db | /volume1/docker/nextcloud/db |
MariaDB-Datenbank mit Metadaten, Konten, Freigaben, Kalendern und Kontakten |
Notiere die vollständigen Pfade. Du brauchst sie beim Erstellen der docker-compose.yml. Den Pfad eines Ordners findest du über einen Rechtsklick auf den Ordner und Eigenschaften.
Bei UGREEN-DXP-NAS-Geräten mit M.2-Steckplätzen kannst du den db-Ordner möglichst auf einem schnellen Volume anlegen. Die Datenbankperformance beeinflusst direkt, wie schnell die Weboberfläche reagiert und wie stabil der Sync mit mehreren Clients läuft.
MariaDB statt SQLite verwenden
Nextcloud unterstützt SQLite, MariaDB, MySQL und PostgreSQL als Datenbank. SQLite ist die einfachste Option, eignet sich jedoch nur für Tests oder sehr einfache Einzelbenutzer-Installationen. MariaDB ist die geeignetere Wahl für Nextcloud auf einem Heim-NAS. Sie läuft als eigener Container im Compose-Stack, verarbeitet parallele Zugriffe zuverlässig und ist in der Nextcloud-Community gut dokumentiert.
In der docker-compose.yml wird MariaDB als separater Dienst definiert. Die Zugangsdaten (Datenbankname, Benutzer, Passwort) legst du in der .env-Datei fest. Die Compose-Datei bindet diese Datei über den absoluten NAS-Pfad ein, damit die Docker-App sie auch nach dem Import findet.
Redis für File Locking und Caching einplanen
Redis ist ein In-Memory-Cache, der in Nextcloud zwei Aufgaben übernimmt: Transactional File Locking und allgemeines Caching.
- Transactional File Locking verhindert keine gleichzeitige Bearbeitung einer Datei. Es verhindert jedoch gleichzeitige Speichervorgänge und reduziert die Last auf der Datenbank.
- Caching beschleunigt wiederkehrende Abfragen (Dateilisten, Benutzerrechte, App-Konfigurationen).

Nextcloud mit Docker Compose installieren
Öffne auf deinem Computer einen Texteditor und erstelle eine Datei mit dem Namen docker-compose.yml. Füge die folgende Konfiguration ein:
services:
db:
image: mariadb:lts
container_name: nextcloud-db
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED
volumes:
- /volume1/docker/nextcloud/db:/var/lib/mysql
env_file:
- /volume1/docker/nextcloud/.env
redis:
image: redis:alpine
container_name: nextcloud-redis
restart: unless-stopped
app:
image: nextcloud:stable-apache
container_name: nextcloud-app
restart: unless-stopped
ports:
- "8080:80"
depends_on:
- db
- redis
volumes:
- /volume1/docker/nextcloud/app:/var/www/html
- /volume1/docker/nextcloud/data:/var/www/html/data
env_file:
- /volume1/docker/nextcloud/.env
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
- NEXTCLOUD_DATA_DIR=/var/www/html/data
Diese Compose-Datei bindet die drei zuvor angelegten NAS-Ordner direkt in die Container ein. /volume1/docker/nextcloud/app wird auf /var/www/html gemountet und enthält Nextcloud-Anwendungsdateien sowie die Konfiguration. /volume1/docker/nextcloud/data wird als Datenverzeichnis für Benutzerdateien verwendet. /volume1/docker/nextcloud/db speichert die MariaDB-Datenbankdateien.
Der lokale Zugriff auf die Weboberfläche erfolgt in diesem Beispiel über Port 8080 des NAS. Intern nutzt der Nextcloud-Apache-Container Port 80. Nach der Bereitstellung erreichst du Nextcloud daher lokal über:
http://NAS-IP:8080
Wenn Port 8080 auf deinem NAS bereits belegt ist, kannst du links im Port-Mapping einen anderen freien NAS-Port verwenden, zum Beispiel "8090:80".
.env-Datei anlegen
Erstelle im Ordner /volume1/docker/nextcloud/ eine neue Datei mit dem Namen .env.
Beispiel:
MYSQL_ROOT_PASSWORD=EinSicheresRootPasswort123
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud
MYSQL_PASSWORD=EinSicheresDatenbankpasswort123
NEXTCLOUD_ADMIN_USER=admin
NEXTCLOUD_ADMIN_PASSWORD=EinSicheresAdminPasswort123
NEXTCLOUD_TRUSTED_DOMAINS="192.168.1.50"
TZ=Europe/Berlin
Ersetze 192.168.1.50 durch die IP-Adresse deines UGREEN NAS und ersetze alle Beispielpasswörter durch eigene, lange Passwörter.
Dateien auf das NAS hochladen
Öffne die App Dateien in UGOS Pro und navigiere zum Ordner /volume1/docker/nextcloud/. Lade beide Dateien (docker-compose.yml und .env) in dieses Verzeichnis hoch.
Prüfe nach dem Upload, dass die .env-Datei tatsächlich als .env angezeigt wird und nicht als .env.txt. Manche Betriebssysteme hängen beim Speichern oder Upload unbemerkt eine Dateiendung an.
Stack über die UGOS-Pro-Docker-App bereitstellen
- Öffne die Docker-App in UGOS Pro.
- Gehe im linken Navigationsbereich zu Projekt und klicke auf Erstellen.
- Wähle Vom lokalen Computer importieren und lade die
docker-compose.ymlhoch. - Das System erkennt die drei Dienste
db,redisundapp. Klicke auf Bereitstellen.
UGOS Pro lädt die Container-Images herunter und startet alle Dienste. Der erste Start kann einige Minuten dauern, weil das Nextcloud-Image mehrere hundert Megabyte groß ist und MariaDB beim ersten Start die Datenbank initialisiert.
Containerstatus und Logs prüfen
Gehe in der Docker-App zum Reiter Container und prüfe den Status aller drei Container:
| Container | Erwarteter Status | Bei Anomalien (z. B. wiederholten Neustarts) |
|---|---|---|
| nextcloud-app | In Betrieb | Logs prüfen: Häufig liegt es an einem falschen Datenbankhost oder einer fehlenden Umgebungsvariable. |
| nextcloud-db | In Betrieb | Logs prüfen: Häufig liegt es an einem ungültigen Passwort oder fehlenden Schreibrechten auf dem db-Ordner. |
| nextcloud-redis | In Betrieb | Startet in der Regel problemlos, da keine externe Konfiguration nötig ist. |
Falls ein Container nicht startet, öffne seine Logs in der Docker-App. Die häufigsten Ursachen (falsche Pfade, ungültige Passwörter, fehlende Ordner) lassen sich anhand der Fehlermeldung in den ersten Log-Zeilen identifizieren.
Hintergrundaufgaben kontrollieren
Nextcloud führt regelmäßig Aufgaben im Hintergrund aus: Dateibereinigung, Vorschaubilder generieren, Benachrichtigungen verarbeiten sowie Kalender- und Kontakt-Synchronisation anstoßen. Ohne funktionierende Hintergrundaufgaben laufen diese Prozesse nicht oder nur verzögert.
Nach der Installation nutzt Nextcloud standardmäßig AJAX für Hintergrundaufgaben.
Prüfe die Einstellung unter Administrationseinstellungen → Grundeinstellungen → Hintergrund-Aufgaben. AJAX löst Hintergrundaufgaben nur beim Aufruf der Nextcloud-Weboberfläche aus und eignet sich daher eher für Tests oder selten genutzte Einzelbenutzer-Installationen.
Falls du zuverlässigere Hintergrundaufgaben brauchst (etwa bei mehreren Nutzern oder aktivem Kalender-Sync), kannst du einen separaten Cron-Container ergänzen. Füge dazu folgenden Dienst in deine docker-compose.yml ein:
cron:
image: nextcloud:stable-apache
container_name: nextcloud-cron
restart: unless-stopped
volumes:
- /volume1/docker/nextcloud/app:/var/www/html
- /volume1/docker/nextcloud/data:/var/www/html/data
environment:
- REDIS_HOST=redis
entrypoint: /cron.sh
depends_on:
- db
- redis
Stelle den Stack nach dem Hinzufügen erneut bereit und wähle in den Nextcloud-Administrationseinstellungen die Option Cron. Der Cron-Container führt die Hintergrundaufgaben dann alle fünf Minuten automatisch aus.

Desktop- und Mobile-Clients verbinden
Nextcloud bietet Clients für alle gängigen Plattformen.
Desktop-Client einrichten
Lade den Nextcloud Desktop-Client von nextcloud.com/install herunter und installiere ihn auf deinem Computer (Windows, macOS oder Linux).
- Starte den Client und klicke auf Anmelden.
- Gib die Server-Adresse ein:
http://NAS-IP:8080 - Der Client öffnet ein Browserfenster zur Authentifizierung. Melde dich mit deinem Nextcloud-Konto an und bestätige den Zugriff.
- Wähle, welche Ordner synchronisiert werden sollen. Für den ersten Test reicht ein einzelner Ordner.
- Klicke auf Verbinden.
Der Client beginnt mit der Synchronisation. Lege eine Testdatei in den Sync-Ordner und prüfe, ob sie in der Nextcloud-Weboberfläche erscheint. Wenn das funktioniert, läuft der Sync korrekt.
Falls der Client die Meldung „Server nicht erreichbar“ zeigt, prüfe zwei Dinge: Ist die NAS-IP in den Trusted Domains eingetragen? Und ist dein Computer mit demselben lokalen Netzwerk verbunden wie das NAS?
Mobile App verbinden
Installiere die Nextcloud-App aus dem App Store (iOS) oder Google Play Store (Android).
- Öffne die App und gib die Server-Adresse ein:
http://NAS-IP:8080 - Melde dich mit deinem Nextcloud-Konto an.
- Erteile der App die angeforderten Berechtigungen (Dateizugriff, Kamera, Fotos).
Für den automatischen Foto-Upload öffne die App-Einstellungen und aktiviere den automatischen Upload. Die App sichert neue Fotos und Videos dann laufend auf dein NAS. Du kannst wählen, ob der Upload nur über WLAN oder auch über Mobilfunk erfolgen soll.
Wie beim Desktop-Client gilt: Die Server-Adresse http://NAS-IP:8080 funktioniert nur innerhalb deines lokalen Netzwerks. Für den Zugriff von unterwegs brauchst du eine sichere Fernzugriffslösung (VPN, Tailscale oder eine eigene Domain mit HTTPS-Reverse-Proxy).
Sync ist kein Backup
Synchronisation hält Dateien zwischen Geräten auf dem gleichen Stand. Das ist praktisch, schützt aber nicht vor Datenverlust. Wenn du eine Datei auf deinem Laptop löschst, wird die Löschung auf den Server und alle verbundenen Geräte synchronisiert. Gleiches gilt für versehentliches Überschreiben oder Ransomware-Verschlüsselung.
Ein NAS mit RAID bietet zusätzliche Verfügbarkeit bei bestimmten Laufwerksausfällen, ersetzt aber ebenfalls kein Backup. Für wichtige Daten brauchst du eine separate und konsistente Sicherung des Nextcloud-Datenverzeichnisses, der Nextcloud-Konfiguration und eines MariaDB-Datenbank-Dumps. Die .env-Datei und die Compose-Datei solltest du ebenfalls sichern. Welche Bestandteile für eine vollständige Wiederherstellung benötigt werden und wie du die Sicherung konsistent durchführst, beschreibt die offizielle Nextcloud-Anleitung für Backups.

FAQ zu Nextcloud auf dem UGREEN NAS
Kann ich Nextcloud auf jedem UGREEN NAS installieren?
Nein. Für die in dieser Anleitung beschriebene Installation muss dein UGREEN NAS Docker in UGOS Pro unterstützen. Die DXP-Serie und das DH4300 Plus verfügen über die Docker-App. Das DH2300 unterstützt Docker offiziell nicht und eignet sich daher nicht für diesen Nextcloud-Compose-Stack.
Sollte ich Docker Compose oder Nextcloud AIO verwenden?
Docker Compose eignet sich, wenn du Speicherpfade, Datenbank, Redis und weitere Dienste selbst kontrollieren möchtest. Nextcloud AIO bietet einen stärker geführten Stack mit zusätzlichen Komponenten, setzt jedoch eine sorgfältig geplante Domain- und HTTPS-Konfiguration voraus. Für eine zunächst rein lokale Installation ist Docker Compose häufig der direktere Einstieg.
Warum sollte ich MariaDB und Redis statt SQLite verwenden?
SQLite ist hauptsächlich für Tests oder sehr einfache Einzelbenutzer-Installationen geeignet. MariaDB verarbeitet parallele Zugriffe mehrerer Nutzer und Sync-Clients zuverlässiger. Redis unterstützt Transactional File Locking und Caching, reduziert die Datenbanklast und verbessert die Stabilität bei gleichzeitigen Zugriffen.
Warum zeigt Nextcloud die Meldung „Zugriff über eine nicht vertrauenswürdige Domain“?
Die Meldung erscheint, wenn die verwendete NAS-IP oder der aufgerufene Hostname nicht als Trusted Domain eingetragen ist. Bei der ersten Installation kannst du die Adressen über NEXTCLOUD_TRUSTED_DOMAINS festlegen. Bei einer bereits installierten Instanz musst du zusätzliche IP-Adressen oder Hostnamen über occ oder in der bestehenden Nextcloud-Konfiguration ergänzen. Eine nachträgliche Änderung von NEXTCLOUD_TRUSTED_DOMAINS in der .env-Datei allein aktualisiert die Trusted Domains einer bestehenden Installation nicht. Verwende nur die IP-Adresse oder den Hostnamen und keine vollständige URL mit http://, https:// oder einem zusätzlichen Pfad.
Wie sichere ich meine Nextcloud-Installation richtig?
Nextcloud-Synchronisierung und RAID ersetzen kein unabhängiges Backup. Für eine vollständige Wiederherstellung solltest du das gesamte Nextcloud-App-Verzeichnis mit Konfiguration, benutzerdefinierten Apps und Themes, das Datenverzeichnis, einen konsistenten MariaDB-Datenbank-Dump sowie die .env- und docker-compose.yml-Datei gemeinsam sichern.
Fazit
Nextcloud auf einem UGREEN NAS lohnt sich, wenn du eine private Cloud für Dateien, Sync, Freigaben, Kalender und Kontakte selbst betreiben möchtest. Für die erste Einrichtung ist ein lokales Docker-Compose-Setup der nachvollziehbarste Weg.