In diesem Artikel zeige ich euch, wie ihr euren Nextcloud Server in Docker migrieren könnt. Wichtig dabei ist, dass euer Server und das Docker Image die selbe Version haben, da es sonst zu Fehlern kommen kann.

Ich übernehme keine Verantwortung, falls euch Daten verloren gehen oder es zu sonstigen Fehlern kommt!

Diese Anleitung bezieht sich auf die Ordnerstruktur aus meiner Nextcloud Anleitung in Schritt 2. Ihr müsst bei euch gegebenenfalls diese anpassen.

1. Backups erstellen

Zuerst solltet ihr alle Daten sichern. Dazu habe ich bereits hier eine Anleitung geschrieben.

2. Neuen Nextcloud Server per Docker bereitstellen

Nun stellen wir Nextcloud mit Docker bereit. Dazu habe ich hier eine Anleitung erstellt. Ich habe Nextcloud hier nach dem Start nicht konfiguriert / eingerichtet, da ich später die kompletten Daten aus der alten Installation übernehme.

3. Nextcloud Datenbank importieren

Nun kopieren wir die Nextcloud Datenbank (aus Schritt 1) in unsere Docker Instanz.

Dazu müssen wir zuerst den Namen unseres Nextcloud Datenbank Containers ermitteln.

docker ps – no-trunc

Also bei mir heißt der Container „nextcloud_nextcloud-db_1“.

Nun kopieren wir unser SQL Backup in diesen Container:

docker cp ./nextcloud-db.sql nextcloud_nextcloud-db_1:/dmp

Nun ist die Datei im Container „nextcloud_nextcloud-db_1“. Jetzt gehen wir in diesen Container um sie dann zu importieren.

docker exec -it nextcloud_nextcloud-db_1 /bin/bash

Im Container führt ihr folgenden Befehl aus:

mysql -u Benutzer -pPasswort nextcloud < /dmp

Nun können wir die Datei innerhalb des Containers wieder löschen:

rm /dmp
exit

Jetzt haben wir die Datenbank importiert. Nun kopieren wir noch die „alten“ Nutzerdaten.

4. Nextcloud (System-) Daten kopieren

Nun kopiere ich noch alle Daten der bisherigen Nextcloud Instanz.

Die Daten liegen im Verzeichnis „/var/www/html/nextcloud“. Diese kopiere ich nun in mein Nextcloud Docker Verzeichnis „/opt/containers/nextcloud/app/“.

cp -r /var/www/html/nextcloud /opt/containers/nextcloud/app/

Wenn ihr euch danach mit dem Befehl „ls -l“ die beiden Verzeichnisse anschaut, sollten diese identisch sein.

5. Nextcloud Nutzer Daten kopieren

Zuletzt kopiere ich noch alle „Benutzerdaten“. Dies sind Daten, welche Benutzer in Nextcloud abgespeichert / hochgeladen haben.

Diese Daten sind derzeit im Verzeichnis „/opt/nextcloud-daten“ gespeichert. Die Verzeichnisstruktur möchte ich auch in Docker beibehalten, da man die Daten aus Sicherheitsgründen nicht direkt ins „Webverzeichnis“ kopieren soll.

Also erstelle ich mir einen neuen Ordner „nextcloud-daten“ innerhalb meines Docker Ordners.

mkdir /opt/containers/nextcloud/nextcloud-daten
chown -R www-data:www-data /opt/containers/nextcloud/nextcloud-daten

Nun muss ich mein Docker Compose File noch um diesen Ort erweitern. Dazu öffne ich folgende Datei:

nano /opt/containers/nextcloud/docker-compose.yml

Hier füge ich folgendes hinzu:

  nextcloud-app:
...
    volumes:
      - /opt/containers/nextcloud/nextcloud-daten:/opt/nextcloud-daten

6. Config.php anpassen

In den kopierten Systemdaten ist noch eine Datei „config.php“. Diese müssen wir nun anpassen, damit Nextcloud Zugriff auf die Datenbank bekommt.

nano /opt/containers/nextcloud/app/config/config.php

Hier müsst ihr nun folgende Zeile anpassen:

'dbhost' => 'nextcloud-db',

Der Name „nextcloud-db“ kommt aus eurer Docker Compose Datei. Hier wird der Service so genannt.

7. Nextcloud starten

Nun könnt ihr Docker starten und Nextcloud sollte mit allen euren alten Daten / Einstellungen wieder funktionieren.

8. Quellen

https://hub.docker.com/_/nextcloud/ (ganz unten)

Teile diesen Beitrag
Christian

Categories:

Keine Kommentare vorhanden

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.