14 lines
987 B
Bash
Executable File
14 lines
987 B
Bash
Executable File
#!/bin/bash
|
|
# Generate a runner registration token from Gitea, store it in .env, (re)start the runner.
|
|
# Re-run any time the runner shows as offline/unregistered.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")"
|
|
docker ps --format '{{.Names}}' | grep -qx gitea || { echo "gitea container not running"; exit 1; }
|
|
TOKEN=$(docker exec -u 1000 gitea gitea --config /data/gitea/conf/app.ini actions generate-runner-token | tail -1 | tr -d '\r')
|
|
[[ ${#TOKEN} -ge 20 ]] || { echo "could not get a token: $TOKEN"; exit 1; }
|
|
if grep -q '^GITEA_RUNNER_TOKEN=' .env; then sed -i "s|^GITEA_RUNNER_TOKEN=.*|GITEA_RUNNER_TOKEN=$TOKEN|" .env; else echo "GITEA_RUNNER_TOKEN=$TOKEN" >> .env; fi
|
|
sudo rm -rf /srv/appdata/act_runner/.runner 2>/dev/null || true # forget any previous registration
|
|
docker compose up -d --force-recreate act_runner
|
|
sleep 6; docker logs act_runner --tail 8 2>&1 | sed 's/^/ /'
|
|
echo "check: Gitea -> Site Administration -> Actions -> Runners (should list 'vanguard-runner' as idle)"
|