Initial commit: Gitea Docker Setup für Proxmox

- Docker-Compose Konfiguration
- Setup-Script für LXC Container
- Backup-Script mit Rotation
- Installationsanleitung

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Martin Eckardt
2025-12-28 14:01:12 +01:00
commit 4bf2207dcf
5 changed files with 339 additions and 0 deletions

46
scripts/backup.sh Normal file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
# Gitea Backup Script
# Erstellt ein Backup der Gitea-Daten
set -e
BACKUP_DIR="/opt/gitea-backups"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_NAME="gitea-backup-${DATE}.tar.gz"
RETENTION_DAYS=7
# Backup-Verzeichnis erstellen
mkdir -p "$BACKUP_DIR"
echo "=== Gitea Backup gestartet: $(date) ==="
# Docker Volume Pfad ermitteln
VOLUME_PATH=$(docker volume inspect gitea-data --format '{{ .Mountpoint }}')
if [ -z "$VOLUME_PATH" ]; then
echo "Fehler: gitea-data Volume nicht gefunden!"
exit 1
fi
# Gitea stoppen für konsistentes Backup
echo "Stoppe Gitea..."
cd /opt/gitea && docker compose stop gitea
# Backup erstellen
echo "Erstelle Backup: $BACKUP_NAME"
tar -czf "${BACKUP_DIR}/${BACKUP_NAME}" -C "$VOLUME_PATH" .
# Gitea wieder starten
echo "Starte Gitea..."
cd /opt/gitea && docker compose start gitea
# Alte Backups löschen
echo "Lösche Backups älter als ${RETENTION_DAYS} Tage..."
find "$BACKUP_DIR" -name "gitea-backup-*.tar.gz" -mtime +${RETENTION_DAYS} -delete
# Backup-Größe anzeigen
BACKUP_SIZE=$(du -h "${BACKUP_DIR}/${BACKUP_NAME}" | cut -f1)
echo "=== Backup abgeschlossen: ${BACKUP_NAME} (${BACKUP_SIZE}) ==="
# Optional: Backup zu externem Speicher kopieren (auskommentiert)
# rsync -av "${BACKUP_DIR}/${BACKUP_NAME}" user@backup-server:/backups/gitea/