Nextcloud AIO: Entfernte Repositories für eingebautes BorgBackup

Nextcloud dürfte vielen als universelle Opensource-Software für eine eigene Cloudlösung bekannt sein. Speziell für das Selfhosting empfiehlt Nextcloud eine Installation über die All-In-One-Lösung „AIO“. Hierbei wird die Nextcloud und alle benötigten Komponenten über eine automatisierte Docker-Lösung installiert und kann über ein Web-Interface aktualisiert und verwaltet werden.

Der Vorteil ist, dass auch Zusatzkomponenten wie das gemeinsame Bearbeiten von Office-Dateien einfach hinzugefügt werden können. Die Installation und Integration in das Nextcloud-System übernimmt das AIO-Interface über die jeweiligen Docker-Container automatisch. Gerade für kleinere selbstverwaltete Clouds ist das eine sehr bequeme und schnelle Art, das System zu installieren und aktuell zu halten.

Im Web-Interface kann man auch eine eingebaute Backup-Lösung auf der Basis von BorgBackup konfigurieren. Bisher war es allerdings nur möglich, als Backup-Ziel ein lokales Verzeichnis auf dem Server anzugeben. Mit der neuen Version des Mastercontainers 10.0.0 kann man nun auch, wie es bei BorgBackup üblich ist, entfernte Repositories angeben, die dann direkt über das SSH-Protokoll angesteuert werden.

Das entfernte Repo wird entweder im Format

user@hostname:/path/to

angegeben, wenn der SSH-Dienst auf dem Ziel auf dem Standard-Port 22 erreichbar ist. Alternativ könnt ihr aber auch das Format

ssh://user@hostname:[port]/path/to/repo

nutzen, um einen anderen Port auf dem Zielhost anzugeben.

Danach müsst ihr einmal den Button „Create Backup“ anklicken, woraufhin AIO einen SSH-Key erstellt, diesen anzeigt und versucht, sich mit diesem Key zu verbinden. Dieser Versuch läuft zwangsläufig auf einen Fehler. Der erzeugte SSH-Key muss jetzt noch auf den entfernten Server kopiert werden, danach führt ein erneuter Klick auf „Create Backup“ zum erfolgreichen ersten Backup.

Wenn das erste Backup erstellt ist, könnt ich noch andere Dinge wie Logging und automatische regelmäßige Backups einstellen, wie man es auch schon bei den lokalen Repositories kannte.

Eine ausführliche Anleitung hierzu steht im all-in-one Git-Repository zur Verfügung.