Moin, ich habe einen NextcloudPi, weitgehend nach Mike’s Anleitung konfiguriert. Die Daten liegen auf einer verschlüsselten, per USB angeschlossenen Festplatte. In der Cloud sind mehrere Benutzerinnenaccounts angelegt.
Ich würde gern ein Datenbackup einrichten, am liebsten möglichst automatisch und so, dass die gesicherten Daten danach physikalisch woanders liegen.
Dinge, die es zu bedenken gilt:
Nutzerinnenkonten haben keine gegenseitigen Zugriffsrechte
Beim Zugriff per SSH werden die Dateizugriffsrechte aus der Nextcloud ignoriert
Der Raspberry Pi hat nur einen USB-C Port
Backup durchs Netzwerk dauert lang genug, nicht dauernd zuschauen zu wollen
Die einzige Idee, die mir einfällt, ein sinnvolles automatisches Backup der Daten physikalisch woanders liegen zu haben ist:
Einrichtung einer “Backup-Nutzerin”, die Lesezugriff auf alle Nutzerinnendaten der Nextcloud hat
Anschaffung eines zweiten RaspberryPi (“BackupPi”) mit USB-Platte, auch verschlüsselt
Wireguard-Verbindung des BackupPi von außen durch die FritzBox auf den NCPi
Anmeldung als Backupnutzerin, und mounten der Nutzerinnenverzeichnisse
Kopieren aller Daten aller Nutzerinnen von NCPi auf BackupPi
Zyklische Wiederholung
Gibt’s andere Ideen? Bessere Setups? Wie macht Ihr denn Backups Eures NextcloudPi?
Ich sichere meinen Webserver, auf dem auch eine Nextcloud-Instanz läuft und der sich in einem Rechenzentrum befindet, mit rsync und btrfs-Snapshots auf einen Pi: Mit rsync wird täglich der aktuelle Stand des Servers in ein Verzeichnis current auf dem Pi in einer btrfs-formatierten Partition synchronisiert. Der Backup-Server rotiert dann täglich (auf 30 Zyklen begrenzt) das Verzeichnis current in einen btrfs-Snapshot. Das Ergebnis sind 30 Verzeichnisse, die das Dateisystem des Webservers pro Backup-Zyklus widerspiegeln:
Die Anleitung dazu habe ich hier dokumentiert. Das Setup wird nicht genau deiner Aufgabenstellung entsprechen, aber das Prinzip wäre dasselbe:
Bei mir werden die Daten per syc-client zwischen diversen Geräten auf gleichem Stand gehalten. Von meinem Desktop-PC, den ich alle paar Tage hochfahre, mache ich verschlüsselte USB-Disk-Backups, somit landet alles über kurz oder lang auf den Backups. Allerdings wird dabei dein erster Punkt schon ignoriert… hat mir jedoch sehr oht geholfen, versehentlich überschriebene Daten zurückzuholen (NC bzw nginx ausschalten, Laptop oder Desktop hochfahren, alte,Version sichern, NC wieder ein).
Des weiteren habe ich ein backup-Skript, das jede Nacht läuft und versucht, eine USB-Backupplatte einzuhängen (wenn sie angesteckt ist, was ich mehr oderweniger regelmäßig mache). Falls ja, bringt das Skript die NC in den Wartungsmodus, sichert das NC-Verzeichnis, das Datenverzeichnis, macht einen Dump der Datenbank, sichert die Liste der installierten Pakete und das /etc-Verzeichnis. Am nächsten Tag ziehe ich die Platte wieder ab.
Zudem mache Ich gelegentlich ein dd-copy der ssd meines NC-Rechners (ein älterer Thin-Client).
Damit hoffe ich, gerüstet zu sein, wenn mal wieder ein Update oder eine neue php-Version alles zerschießt… passiert aber ehrlicherweise selten, vielleicht 2x bisher (in 8-10 Jahren)
Wer Backups macht, der macht nicht nur ein Backup. Ich habe an meinem Raspi dieses Ding hängen https://icybox.de/product/externe_speicherloesungen/IB-RD2253-C31
Da kannst du automatisch zum Beispiel mit rsync automatisierte, schnelle, tägliche Backups anlegen, von wo aus du auch sehr schnell wieder zurück spielen kannst. Ein Raid1 würde ich nicht einrichten.
Bei mir läuft Rsnapshot. Das arbeitet auf Basis von rsync, macht aber versionierte Backups.
Und dann solltest du dir einen Backupserver einrichten, der am besten außerhalb deines Heims steht und auf den vielleicht wöchentlich oder monatlich einmal über das Netz gesichert wird. Für die Verbindung empfiehlt sich Wireguard.
Gerne, ist etwas handhydraulisch, die Quellen, aus denen ich das zusammengstrickt habe, weiß ich nicht mehr… Ich muss mir das morgen mal anschauen, da hängen noch ein paar Dinge dra (Cron-Job, fstab-Eintrag usw).
Klar, ein Backup ist kein Backup. Und ich trage auch immer wieder brav eine Backupplatte auf meine Arbeit, damit auch was außer Haus liegt. Diesen Supergau, wo ich das Backup aus der Ferne brauche, hatte ich zum Glück noch nie - wenn das nötig würde, hätte ich vermutlich sowieso andere Probleme…. Alle meiner Restore-Fälle waren verursacht durch entweder versehentlich gelöschte oder überschriebene Dateien, Konfig-Fehler oder Experimente mit Raid. Da hat es bisher immer die USB-Platte im Schrank getan.
Hier das Skript zur Nextcloud-Sicherung (inspiriert von https://www.c-rieger.de/nextcloud-sicherung-und-wiederherstellung ). Pfade zum Nextcloud-Verzeichnis, Daten-Verzeichnis sowie Backup-Mountpoint müssen angepasst werden. Natürlich auch Datenbankname, Datenbankuser und Passwort.
Was noch fehlt: Prüfen der Backup-Platte auf freien Platz und ggfs. Löschen der ältesten Sicherung. Das mache ich bisher händisch. Natürlich wäre eine Mail an den Administrator schick, aber brauche ich nicht. Ich schaue sowieso immer mal wieder per ssh auf den Rechner. Fehlerausgaben könnten natürlich auch verbessert werden, aber bei mir läuft es so seit Langem. Was auch schief gehen kann, die USB-Platte könnte ein anderes Device (sdb1, sdd1…) bekommen, wenn man USB-Sticks oder Platten zusätzlich eingesteckt hat. Könnte man mit UUID in der fstab abfangen, dann müsste man wohl für jede der eingesetzten Platten einen Eintrag mit der UUID anlegen.
Verbesserungsvorschläge sind jederzeit willkommen!
kann man nextcloudpi als echten Nextcloud Ersatz nutzen oder gibt es irgendwelche Einschränkungen oder Nachteile. Gibt es eine Vergleichübersicht zwischen beiden Derivaten?
Ich möchte es auf meiner proxmox installieren und möchte gerne wissen, ob es sinnvoll ist oder doch direkt nextcloud zu wählen. Wie sind eure Erfahrungswerte mit nextcloudpi ?
Ehrlich gesagt kenne ich das Projekt “NextcloudPi” gar nicht, dachte einfach, dass es eine vorbereitete Installation mit allen Paketen, Konfigs usw ist.
Ich habe mit das alles nach Howtos selber zusammengesucht, Nginx, Mariadb, PHP, Nextcloud…
Nach einer Weile bin ich umgestiegen vom Raspi4 auf einen ThinClient, aus mehreren Gründen (hauptsächlich um die NC von der Hausautomatisierung zu trennen)
Die NC ist auch deutlich perfornanter seitdem und braucht sogar etwas weniger Strom. Wenn ich eine Empfehlung geben kann, dann nicht eine zu lasche Hardware zu nehmen. Selbst ein alter ThinClient für 80€ mit einem alten 4-Kern Celeron und interner SSD hängt den Raspi locker ab.
Nextcloudpi kannst du nur auf einem Raspi installieren. Proxmox gibt es offiziell nicht für den Raspi. Ich würde davon also die Finger lassen. Dafür wären mir meine Daten viel zu schade. Das wäre mindestens vier Wochen auswärts essen, wenn ich meiner Frau sagen müsste, dass die Bilder (der Kinder) weg sind…
Grundsätzlich handelt es sich bei NextcloudPi um eine vollwertige Nextcloud-Instanz, die speziell für den Einsatz auf ressourcenschwachen Geräten optimiert wurde. Der Vorteil ist, dass du alles Nötige bereits bekommst – Webserver, Datenbank, Let’s-Encrypt-Integration und zahlreiche Verwaltungstools. Der Nachteil: Du musst ziemlich genau wissen, wie die Entwickler sich die Struktur und Verwaltung gedacht haben, um an alle Stellschrauben zu gelangen.
Es ist ein bisschen wie U-Bahn fahren in einer großen Stadt: Du kommst bequem und schnell ans Ziel, aber du siehst nicht, welche Wege, Abzweigungen oder Hürden du auf eigene Faust genommen hättest. Das macht die Einrichtung einfach, aber das Troubleshooting schwieriger.
Da du sowieso Proxmox verwendest würde ich empfehlen eine VM zu verwenden und darin Nextcloud AIO. NC AIO ist die präferierte offizielle Nextcloud-Installations-Methode und bringt alles notwendige mit.
Eine VM hat einen eigenen Kernel. LXC-Container teilen sich den Kernel mit dem Host-OS. Container-Escapes sind deutlich einfacher als VM-Escapes. Insbesondere bei LXC, wenn man keine zusätzlichen Einschränkungen an den Container stellt.
Meinst du den Link hier?
Soweit ich weiß unterscheidet sich NextcloudPI von NC-AIO