#!/bin/bash set -euo pipefail INSTANCE="${1:?Usage: gitea-act-runner-setup }" RUNNER_DIR="/var/lib/gitea/runners/${INSTANCE}" CONFIG="/etc/gitea/runners/${INSTANCE}.yaml" if [ ! -f "$CONFIG" ]; then echo "Config not found: $CONFIG" echo "Copy /etc/gitea/runners/runner1.yaml to $CONFIG first." exit 1 fi mkdir -p "$RUNNER_DIR" chown gitea-runner:gitea-runner "$RUNNER_DIR" mkdir -p "$RUNNER_DIR" chown gitea-runner:gitea-runner "$RUNNER_DIR" # Enable rootless podman socket (once per user, idempotent) RUNNER_HOME=$(getent passwd gitea-runner | cut -d: -f6) SOCKET_WANTS="${RUNNER_HOME}/.config/systemd/user/sockets.target.wants" PODMAN_SOCKET="/usr/lib/systemd/user/podman.socket" if [ -f "$PODMAN_SOCKET" ] && [ ! -L "${SOCKET_WANTS}/podman.socket" ]; then mkdir -p "$SOCKET_WANTS" ln -s "$PODMAN_SOCKET" "${SOCKET_WANTS}/podman.socket" chown -R gitea-runner:gitea-runner "${RUNNER_HOME}/.config" fi cd "$RUNNER_DIR" sudo -u gitea-runner gitea-act-runner register -c "$CONFIG"