#!/bin/bash # Gitea Runner Status Check Script # Prüft den Status des Gitea Runners set -e # Colors for output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' CYAN='\033[0;36m' NC='\033[0m' # No Color echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}" echo -e "${BLUE}║ Gitea Runner Status Check ║${NC}" echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}" echo "" # Check 1: systemd service echo -e "${CYAN}[1/5] Checking systemd service...${NC}" if systemctl list-units --type=service --all | grep -q "gitea-runner.service"; then echo -e "${GREEN}✓ systemd service found${NC}" systemctl status gitea-runner --no-pager -l || true else echo -e "${YELLOW}⚠ systemd service not found (runner might be running differently)${NC}" fi echo "" # Check 2: Running processes echo -e "${CYAN}[2/5] Checking for running runner processes...${NC}" RUNNER_PROCESSES=$(ps aux | grep -E "(gitea|act_runner|woodpecker)" | grep -v grep || echo "") if [ ! -z "$RUNNER_PROCESSES" ]; then echo -e "${GREEN}✓ Found runner processes:${NC}" echo "$RUNNER_PROCESSES" | while read line; do echo " $line" done else echo -e "${RED}✗ No runner processes found${NC}" fi echo "" # Check 3: Docker containers (if runner runs in Docker) echo -e "${CYAN}[3/5] Checking for runner Docker containers...${NC}" RUNNER_CONTAINERS=$(docker ps -a --filter "name=runner" --format "{{.Names}}\t{{.Status}}" 2>/dev/null || echo "") if [ ! -z "$RUNNER_CONTAINERS" ]; then echo -e "${GREEN}✓ Found runner containers:${NC}" echo "$RUNNER_CONTAINERS" | while read line; do echo " $line" done else echo -e "${YELLOW}⚠ No runner containers found${NC}" fi echo "" # Check 4: Common runner directories echo -e "${CYAN}[4/5] Checking common runner directories...${NC}" RUNNER_DIRS=( "/tmp/gitea-runner" "/opt/gitea-runner" "/home/*/gitea-runner" "~/.gitea-runner" "/usr/local/gitea-runner" ) FOUND_DIRS=0 for dir in "${RUNNER_DIRS[@]}"; do # Expand ~ and wildcards EXPANDED_DIR=$(eval echo "$dir" 2>/dev/null || echo "") if [ -d "$EXPANDED_DIR" ]; then echo -e "${GREEN}✓ Found runner directory: $EXPANDED_DIR${NC}" FOUND_DIRS=$((FOUND_DIRS + 1)) # Check for config files if [ -f "$EXPANDED_DIR/.runner" ] || [ -f "$EXPANDED_DIR/config.yml" ]; then echo " → Contains configuration files" fi fi done if [ $FOUND_DIRS -eq 0 ]; then echo -e "${YELLOW}⚠ No runner directories found in common locations${NC}" fi echo "" # Check 5: Network connections (check if runner is connecting to Gitea) echo -e "${CYAN}[5/5] Checking network connections to Gitea...${NC}" GITEA_URL="${GITEA_URL:-https://git.dk0.dev}" if command -v netstat >/dev/null 2>&1; then CONNECTIONS=$(netstat -tn 2>/dev/null | grep -E "(git.dk0.dev|3000|3001)" || echo "") elif command -v ss >/dev/null 2>&1; then CONNECTIONS=$(ss -tn 2>/dev/null | grep -E "(git.dk0.dev|3000|3001)" || echo "") fi if [ ! -z "$CONNECTIONS" ]; then echo -e "${GREEN}✓ Found connections to Gitea:${NC}" echo "$CONNECTIONS" | head -5 else echo -e "${YELLOW}⚠ No active connections to Gitea found${NC}" fi echo "" # Summary echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo -e "${BLUE}Summary:${NC}" echo "" if [ ! -z "$RUNNER_PROCESSES" ] || [ ! -z "$RUNNER_CONTAINERS" ]; then echo -e "${GREEN}✓ Runner appears to be running${NC}" echo "" echo "To check runner status in Gitea:" echo " 1. Go to: https://git.dk0.dev/denshooter/portfolio/settings/actions/runners" echo " 2. Check if runner-01 shows as 'online' or 'idle'" echo "" echo "To view runner logs:" if [ ! -z "$RUNNER_PROCESSES" ]; then echo " - Check process logs or journalctl" fi if [ ! -z "$RUNNER_CONTAINERS" ]; then echo " - docker logs " fi else echo -e "${RED}✗ Runner does not appear to be running${NC}" echo "" echo "To start the runner:" echo " 1. Find where the runner binary is located" echo " 2. Check Gitea for registration token" echo " 3. Run: ./act_runner register --config config.yml" echo " 4. Run: ./act_runner daemon --config config.yml" fi echo "" echo -e "${CYAN}For more information, check:${NC}" echo " - Gitea Runner Docs: https://docs.gitea.com/usage/actions/act-runner" echo " - Runner Status: https://git.dk0.dev/denshooter/portfolio/settings/actions/runners" echo ""