Zum Inhalt

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.

Docker 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 anderes 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

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 werden 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

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

Schritt 4

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

Gitea Dump

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source

Photo by Markus Spiske on Unsplash