#!/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 ""
