Synology NAS - Backup-Dump von Gitea Docker-Container erstellen
Meine Gitea-Instanz läuft seit einiger Zeit auf meiner Synology NAS in einem Docker-Container, jedoch ohne eine Sicherung. Ohne ein komplettes Backup ist es auch schwer Gitea mal auf einen anderen Server umzuziehen. Gitea bietet da zum Glück eine recht einfache Möglichkeit einen vollständigen Dump zu erstellen. Der enthält alle Daten und kann auf einem neuen Server wieder hergestellt werden.
Die Anleitung zum Installieren von Gitea auf eine Synology findet ihr hier 👉 Gitea auf einem Synology NAS installieren
In der offiziellen Gitea-Dokumentation findet ihr die Anleitung für den Backup & Restore Prozess. 👉 https://docs.gitea.io/en-us/backup-and-restore/. Den Weg habe ich auch ausprobiert, leider hat das nicht ganz so funktioniert, wie ich mir das vorgestellt habe. Deshalb habe ich mich daran gemacht einen anderen Weg zu finden, der dann von Erfolg gekrönt war.
Schritt 1
Im ersten Schritt ist ein Terminal direkt im installierten Docker Container über die Weboberfläche zu öffnen.
Schritt 2
Im zweiten Schritt wird der Dump von Gitea erstellt. Es ist Folgendes zu beachten:
- Das Terminal gilt nur für das Docker-Image. Ihr könnt nicht in ein anderes Verzeichnis auf der Synology wechseln, z.B. euer Home-Verzeichnis
- In dem Verzeichnis, in dem ihr den Dump-Befehl ausführt, wird dieser abgelegt, in diesem Beispiel wird es in das Verzeichnis /tmp gelegt.
- Den Dump-Befehl müsst ihr zwingend als User git ausführen.
Nachdem das Terminal geöffnet wurde, könnt ihr kontrollieren, mit welchem Benutzer ihr angemeldet seit
bash-5.1# whoami
root
In diesem Fall ist es der Benutzer root
Wir wechseln mal in das Verzeichnis /tmp
bash-5.1# cd /tmp
Nun können wir den Benutzer wechseln und den Dump-Befehl ausführen.
bash-5.1# su git
bash-5.1# /app/gitea/gitea dump -c /data/gitea/conf/app.ini
Der Befehl braucht je nach Größe von Gitea einige Zeit bis er durchgelaufen ist.
bash-5.1# ls
git-dump-****.zip
Schritt 3
Die Sicherung liegt im Docker-Verzeichnis eurer Gitea-Instanz. Damit der Dump auch entsprechend gesichert oder auf einem anderen Server wieder hergestellt werden kann, ist er in ein anderes Verzeichnis zu kopieren.
In diesem Beispiel wird das zip-Archiv in das Home-Verzeichnis des Benutzers kopiert.
Die Anmeldung an der Synology erfolgt über die Konsole per SSH. Es wird nach den Dateinamen gitea-dump-***.zip
in allen Verzeichnissen der Synology gesucht. Da tw. die Docker-Container über cryptische Namen verfügen, ist das der einfachste Weg die zip-Datei zu finden.
sudo find -name gitea-dump-***.zip
Das Ergebnis sieht dann in etwa so aus:
sudo find -name gitea-dump-1628841406.zip
./volume1/@docker/btrfs/subvolumes/2ab4ca5373f218cc4e13255a65c1014decda2ab650bbb8ae2eddb32be21417bf/tmp/gitea-dump-1628841406.zip
Das zip-Archiv kann über die CLI in das eigene Home-Verzeichnis kopiert und über die File Station angezeigt werden.
sudo cp /volume1/@docker/btrfs/subvolumes/2ab4ca5373f218cc4e13255a65c1014decda2ab650bbb8ae2eddb32be21417bf/tmp/gitea-dump-1628841406.zip /var/services/homes/benutzer
Schritt 4
Das zip-Archiv lässt sich nun bequem über die File Station herunterladen, entpacken und anschauen.
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️
Source
- Photo by Markus Spiske on Unsplash
- https://docs.gitea.com/administration/backup-and-restore