#!/usr/bin/env bash # Install systemd unit for Gitea act_runner on the Gitea host (e.g. dev-vm 5700). # Run inside the container, or: ssh root@ "pct exec 5700 -- bash -s" < scripts/dev-vm/install-act-runner-systemd.sh # # Optional env: # WORK_DIR default /opt/act_runner # GITEA_ACTION_URL default http://127.0.0.1:3000 (same host as Gitea) set -euo pipefail WORK_DIR="${WORK_DIR:-/opt/act_runner}" GITEA_ACTION_URL="${GITEA_ACTION_URL:-http://127.0.0.1:3000}" if [ ! -x "${WORK_DIR}/act_runner" ]; then echo "Missing ${WORK_DIR}/act_runner — run setup-act-runner.sh with GITEA_RUNNER_REGISTRATION_TOKEN first." exit 1 fi if [ ! -f "${WORK_DIR}/.runner" ]; then echo "Missing ${WORK_DIR}/.runner — register first: GITEA_RUNNER_REGISTRATION_TOKEN=... bash setup-act-runner.sh" exit 1 fi cat > /etc/systemd/system/act-runner.service << EOF [Unit] Description=Gitea act_runner After=network.target [Service] Type=simple User=root WorkingDirectory=${WORK_DIR} ExecStart=${WORK_DIR}/act_runner daemon Restart=on-failure RestartSec=10 Environment=GITEA_ACTION_URL=${GITEA_ACTION_URL} [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable act-runner systemctl restart act-runner systemctl --no-pager status act-runner