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, das alle Daten enthält und das auf einem neuen Server wieder hergestellt werden kann.

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.

Dorcker Terminal öffnen
Dorcker Terminal öffnen

 

Schritt 2

Im zweiten Schritt wird der Dump von Gitea erstellt. Es ist folgendes zu beachten:

  1. Das Terminal gilt nur für das Docker-Image. Ihr könnt nicht in ein andere Verzeichnis auf der Synology wechseln, z.B. euer Home-Verzeichnis
  2. In dem Verzeichnis in dem ihr den Dump-Befehl ausführt wird dieser abgelegt, in diesem Beispiel wird es in das Verzeichnis /tmp gelegt.
  3. 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. Danach könnt ihr mit ls den Inhalt des Verzeichnisses /tmp auflisten lassen und siehe da, es ist ein zip-Ordner vorhanden

bash-5.1# ls
git-dump-****.zip
Gitea Dump erstellen
Gitea Dump erstellen

 

Schritt 3

Der Gitea-Dump liegt nun im Docker-Verzeichnis eurer Gitea-Instanz. Damit der Dump auch entsprechend gesichert werden kann oder auf einem anderen Server wieder hergestellt werde kann, müssen wir den in ein anderes Verzeichnis kopieren.

In diesem Beispiel kopiere ich das zip-Archiv in das Home-Verzeichnis meines Benutzers. Dabei ist zu beachten, dass das Kopieren über eine SSH-Sitzung durchgeführt wird, mit der ich vollen Zugriff auf die Ordner und Verzeichnisstruktur der Synology erhalte.

Das zip-Archiv suche ich über den Befehl find. Ihr benötigt dafür sudo-Rechte, da sonst nicht jedes Verzeichnis durchsucht werden kann.

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
find Gitea zip
find Gitea zip

Damit haben wir da zip-Archiv gefunden und wir können es in das Home-Verzeichnis kopieren. Nach dem Kopieren wird es auf der Weboberfläche in der File Station angezeigt.

Prüft den Pfad zum Home-Verzeichnis eures Benutzers.

sudo cp ./volume1/@docker/btrfs/subvolumes/2ab4ca5373f218cc4e13255a65c1014decda2ab650bbb8ae2eddb32be21417bf/tmp/gitea-dump-1628841406.zip /var/services/homes/benutzer
Kopieren in das Home-Verzeichnis
Kopieren in das Home-Verzeichnis

Schritt 4

Nun könnt ihr ganz bequem das zip-Archiv über die File Station herunterladen, entpacken und anschauen.

Gitea Dump
Gitea Dump

Photo by Markus Spiske on Unsplash

Schreibe einen Kommentar

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