AllgemeinesAnleitungen

Nextcloud Umzug: einfach machen, nicht einfacher.

„So einfach wie möglich. Aber nicht einfacher.“

Dieses Zitat stammt von Albert Einstein und heißt maximal ausformuliert in etwa „mach dir ein Problem so einfach, dass du es lösen kannst, nicht aber einfacher als es sein muss, denn dann geht der Sinn in dem Problem verloren“.
Der Titel-Satz hat vom Ursprung her zwar überhaupt nichts mit IT zu tun, und doch musste ich mich Anfang der Woche daran erinnern.

Ich habe auf meinem Homeserver unter anderem eine selbst gehostete Nextcloud auf Docker-Basisi am laufen. Der Einfachheit halber habe ich damals als Datenbankgrundlage SQLite genommen, eine kleine, selbsständige Datenbank, die oft in beengten Situationen, wie Mobiltelefonen oder kleinen Anwendungen verwendet wird.

Für mich als einzigen Nutzer ist das an sich auch ausreichend, jedoch kamen in Vergangenheit immer mal wieder Situationen aus, die mich störten: das Laden des Web-GUI dauerte länger, Befehle aus der Dokumentation funktionierten nicht (weil diese eine MySQL Datenbank vorraussetzten) oder, noch viel schlimmer, Backups von Kontakten und Kalendern konnten nicht importiert werden, bzw. nur auf Biegen und Brechen mit massiven Fehlern.

Deswegen wollte ich meinen Unterbau auffrischen mit dem Ziel: einen Container für die Nextcloud, und einen für eine MySQL/MariaDB Datenbank.

Weil der Mensch faul ist, wovon ich mich nicht auch ausschließen kann, wollte ich es schnell und einfach. Nicht dreckig, aber rückblickend wäre es das doch wohl geworden. Wenn ich etwas mache, dann denke ich in die Zukunft und will es direkt ordentlich machen.

Versuch 1: schnell + einfach = Denkfehler

Zuerst habe ich die neue Nextcloud mit einem Compose-File aufgesetzt und gestartet. Ich dachte, allein die Angabe meines vorhandenen Datenverzeichnisses genügt, um die neue Installation nutzen zu können.
Wie zu erwarten, hat es das nicht: die Nutzer wurden in der Loginmaske nicht erkannt, die Installation forderte das Administratorkonto einer Erstinstallation.

Versuch 2: mehr denken führt auch mal zu Problemen

Als nächstes dachte ich, ich starte die neue Nextcloud, fahre den alten Container runter, damit dieser nicht in die Datenverzeichnisse schreibt und beim Import inkonsistente Daten hervorruft, und kopiere die Daten aus dem Web-GUI in die neue NC.

Fehler 1:

wenn die alte Nextcloud nicht läuft, kann ich nicht auf die Daten zugreifen (hätte man sich auch denken können…). Weiter KÖNNEN garnicht beide Nextcloud-Instanzen laufen, da immer nur ein Container das darunterliegende Image nutzen kann!

Fehler 2:

per SFTP konnte ich auch nicht an die Daten, da das Datenverzeichnis zwingend dem User „www-data“ gehören MUSS. Der Root-User kann dass zwar umgehen („Ich bin Root, ich darf das!“), aus Sicherheitsgründen habe ich aber den Root-Login auf meinen Server deaktiviert und der Nutzer „www-data“ hat außerhalb meiner Nextcloud nichts zu melden.
Ergebnis: Daten nicht grafisch aufrufbar.

Versuch 3: umständlich + von Anfang an = (fast immer) erfolgreich

Dann musste ich doch in den sauren Apfel beißen: Nextcloud wurde mit neuer MariaDB gestartet, und meine Nutzer der alten Nextcloud manuell angelegt und die Konten und Apps wie vorher eingerichtet.
Danach habe ich per SSH-Terminal von meinem Server die Daten von Verzeichnis „Alt“ (/mnt/hdd/nextcloud/USER/files/) mittels rekursiven Copy-Befehls („cp -r“) in das neue User-Verzeichnis kopiert (/mnt/hdd/ncdata/USER/files/).
Damit noch nicht getan, denn die Nextcloud, bzw. besser die Datenbank weiß noch nichts davon, dass die Daten jetzt vorliegen.
Zum Glück hat Nextcloud dafür einen schönen, wenn auch langen Indexier-Befehl parat:

„sudo docker exec -ti –user www-data [nextcloud-app] /var/www/html/occ files:scan –all“

Danach waren alle Ordner und Dateien im Web-GUI wieder vorhanden und auch meine Kalender und Kontakte wurde fehlerfrei importiert.

 

Was lernen wir daraus: manchmal muss es doch etwas mehr sein als „eben mal schnell“. Sich die Dinge genau zu überlegen verhindert viele Probleme, kann aber auch in die falsche Richtung leiten.
Eben nach dem Motto „mach es dir einfach und stressfrei, aber nicht einfacher, denn dann ist es keine zufriedenstellende Lösung“.
Auf jeden Fall habe ich einiges dazugelernt, was ich bestimmt in Zukunft nochmal gebrauchen kann.
Und denkt immer dran: vor solchen Operationen am offenen Herzen sind Backups ein Muss und ersparen euch haufenweise Stress und Ärger!

 

Over and Out
– Boba Fett

About author

Workstation:

AMD Ryzen 7 5800X @ 65W
AMD MSI RX6650XT Ventus
Asrock B550M Steel Legend
32GiB DDR4 GSkill Ripjaws @ 3533Mhz
WD SN570 500GB M.2 PCIe 3.0
WD SN570 1000GB M.2 PCIe 3.0 @ Sata 3 6Gib/s
WD Blue 2TB HDD @ 7200 RPM
Sharkoon V1000 Window
CoolerMaster MasterWatt Light 500W NM
Artic Freezer 34 Duo Red
DVD-Brenner
Linux Mint 22 Cinnamon "Wilma" 64bit

 

Laptop:

HP 255G8
AMD Ryzen 5 5500U
8GiB DDR4 3200Mhz
512GiB M.2 PCIe 3.0
Linux Mint 21.3 Cinnamon "Virginia" 64bit
Windows 10 Professional 22H2 64bit

 

Server:

Lenovo ThinkCentre M910q Tiny
Intel Core i5 7500T @ 35W
8GiB DDR4 2666Mhz
256GiB M.2 PCIe 3.0
Seagate 1TB 2.5 Zoll HDD @ 5400 RPM @ USB 3.2 Gen 1 (5Gib/s)
HGST 500GB 2.5 Zoll HDD @ 5400 RPM @ USB 3.2 Gen 1 (5Gib/s)
Ubuntu Server 22.04.6 LTS "Jammy Jellyfish" 64bit

Related posts
AnleitungenInstallationTipps & TricksWindows 11

Windows 11 24H2: Guide für das Upgrade

Allgemeines

Kommentar zu Microsoft

Anleitungen

Keine Angst vor Backups (4): Duplicati

Anleitungen

Keine Angst vor Backups (3): Raid Level

5 1 vote
Wie findest du diesen Artikel?
Subscribe
Benachrichtige mich zu:
guest

4 Kommentare
neuste
älteste beste Bewertung
Inline Feedbacks
View all comments