#!/bin/bash # Quick Setup Script für Gitea Runner auf Synology NAS # Dieses Script deployt den Gitea Runner automatisch set -e echo "======================================" echo "Gitea Runner Setup für Synology NAS" echo "======================================" echo "" # Konfiguration RUNNER_DIR="/volume1/docker/gitea-runner" GITEA_URL="https://gitea.cbazza.synology.me" # Prüfe ob auf Synology if [ ! -d "/volume1" ]; then echo "❌ Dieses Script muss auf der Synology NAS ausgeführt werden!" echo " Führe es via SSH aus: ssh sebastianfrohlich@192.168.178.29" exit 1 fi # Frage nach Registration Token echo "📝 Bitte gehe zu:" echo " ${GITEA_URL}/user/settings/actions/runners" echo " und erstelle einen neuen Runner." echo "" read -p "Gib den Registration Token ein: " RUNNER_TOKEN if [ -z "$RUNNER_TOKEN" ]; then echo "❌ Kein Token eingegeben!" exit 1 fi echo "" echo "⚙️ Erstelle Runner-Verzeichnis..." mkdir -p "$RUNNER_DIR" cd "$RUNNER_DIR" echo "📝 Erstelle .env Datei..." cat > .env << EOF # Gitea Runner Configuration GITEA_URL=${GITEA_URL} RUNNER_TOKEN=${RUNNER_TOKEN} RUNNER_NAME=synology-runner RUNNER_CAPACITY=1 LOG_LEVEL=info EOF echo "📝 Erstelle docker-compose.yml..." cat > docker-compose.yml << 'EOF' version: "3.9" services: gitea-runner: image: gitea/act_runner:latest container_name: gitea-runner restart: unless-stopped environment: - GITEA_INSTANCE_URL=${GITEA_URL} - GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_TOKEN} - GITEA_RUNNER_NAME=${RUNNER_NAME:-synology-runner} - GITEA_RUNNER_LABELS=ubuntu-latest:docker://catthehacker/ubuntu:act-latest - GITEA_RUNNER_CAPACITY=${RUNNER_CAPACITY:-1} - GITEA_RUNNER_LOG_LEVEL=${LOG_LEVEL:-info} volumes: - runner-data:/data - /var/run/docker.sock:/var/run/docker.sock networks: - gitea-network healthcheck: test: ["CMD", "pgrep", "-f", "act_runner"] interval: 30s timeout: 10s retries: 3 start_period: 40s volumes: runner-data: driver: local networks: gitea-network: driver: bridge EOF echo "🚀 Starte Gitea Runner..." docker-compose up -d echo "" echo "✅ Gitea Runner wurde erfolgreich deployed!" echo "" echo "📊 Prüfe Status mit:" echo " docker logs -f gitea-runner" echo "" echo "🌐 Verifiziere in Gitea:" echo " ${GITEA_URL}/user/settings/actions/runners" echo "" echo "Der Runner sollte jetzt als 'Online' angezeigt werden." echo ""