Verbindung Server zu Gitea
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`.
#!/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/vscode
---
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@wiki.service
sudo systemctl start auto-git-push@wiki.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.