Zum Inhalt springen

Verbindung Server zu Gitea

Aus Home Wiki

Automatisches Git-Push-Skript für Docker-Compose

Diese Anleitung beschreibt, wie du ein **automatisches Git-Push-Skript** für deine `docker-compose.yml` einrichtest, sodass Änderungen automatisch in dein Gitea-Repository gepusht werden.

---

1️⃣ Skript erstellen

Erstelle eine Datei namens `auto-git-push.sh` im gleichen Ordner wie deine `docker-compose.yml`. Version 2 von autogit push

#!/bin/bash

# Skript im gleichen Ordner wie docker-compose.yml
FILE="docker-compose.yml"

# Zum Ordner wechseln (relativ zum Skript)
cd "$(dirname "$0")"

# Endlosschleife für automatische Commits & Push
while true; do
    inotifywait -e close_write "$FILE"
    git add "$FILE"
    git commit -m "Auto-update: $(date '+%Y-%m-%d %H:%M:%S')"
    git push origin main
done

> Hinweis: Das Skript verwendet `inotifywait`, um Änderungen an der `docker-compose.yml` zu erkennen. Stelle sicher, dass `inotify-tools` auf deinem Server installiert sind:

>

sudo apt install inotify-tools

---

2️⃣ Skript auf dem Server ablegen

Beispiel für den Speicherort:

/home/robin/docker/wiki/auto-git-push.sh

Du kannst das Skript auch kopieren, z. B. in einen anderen Projektordner:

cp /home/robin/docker/wiki/auto-git-push.sh /home/robin/docker/{{ZielOrdner}}

---

3️⃣ Skript ausführbar machen

chmod +x auto-git-push.sh

---

4️⃣ Systemd-Dienst einrichten

Das Skript kann als **Systemd-Daemon** gestartet werden, sodass es automatisch im Hintergrund läuft.

> ⚠️ Hinweis: Der Service muss nur aktiviert und gestartet werden, wenn er noch nicht läuft.

Beispiel zum Starten für das Projekt `wiki`:

sudo systemctl enable auto-git-push@{{Ordner}}.service
sudo systemctl start auto-git-push@{{Ordner}}.service

Hier muss der Name des Ordners eingesetzt werden: z.b Watchtower

Container: watchtower Git-Repository: Watchtower Ordner: tower

sudo systemctl enable auto-git-push@tower.service
sudo systemctl start auto-git-push@tower.service

Leer:

sudo systemctl enable auto-git-push@.service
sudo systemctl start auto-git-push@t.service


---

5️⃣ Service-Datei (nur zur Info)

Die Service-Datei für Systemd befindet sich unter:

/etc/systemd/system/auto-git-push.service

Beispielinhalt:

[Unit]
Description=Auto Git Push Service %i
After=network.target

[Service]
Type=simple
User=robin
WorkingDirectory=/home/robin/docker/%i
ExecStart=/home/robin/docker/%i/auto-git-push.sh
Restart=always

[Install]
WantedBy=multi-user.target

> Hinweis: `%i` wird durch den Instanznamen ersetzt, z. B. `wiki`. > Du kannst die Datei bearbeiten mit:

>

sudo nano /etc/systemd/system/auto-git-push.service

---

✅ Zusammenfassung

1. Skript `auto-git-push.sh` erstellen und ausführbar machen 2. Änderungen an `docker-compose.yml` werden automatisch erkannt 3. Änderungen werden automatisch committet und nach Gitea gepusht 4. Optional: Systemd-Dienst einrichten, um das Skript automatisch im Hintergrund laufen zu lassen

> Dieses Setup sorgt dafür, dass deine Docker-Compose-Konfiguration jederzeit versioniert und gesichert ist.