2.7 KiB
FAQ
How do I obtain the Gitea registration token?
There are three levels of registration tokens, depending on which repositories the runner should serve:
- Instance-level — Site Administration → Actions → Runners → Create Registration Token. The runner will handle jobs from all repositories.
- Organization-level — Organization → Settings → Actions → Runners → Create Registration Token. The runner will only handle jobs from repositories in that organization.
- Repository-level — Repository → Settings → Actions → Runners → Create Registration Token. The runner will only handle jobs from that specific repository.
Set the token as GITEA_REGISTRATION_TOKEN in your .env file or pass it via --token on the command line.
What is the REPO_TOKEN and do I need it?
REPO_TOKEN is a Gitea admin API token used for optional post-install verification. When set, GRM queries the Gitea API after installation to confirm the runner appears in the runner list. This is purely informational — the integration test passes/fails based on the .runner file and systemd service, not the API check.
To generate one: Settings → Applications → Generate New Token, with the admin scope (or at minimum read:user, read:repository, read:admin).
If you skip it, GRM will still verify the runner correctly — it just won't show the extra API confirmation.
How do I skip the sudo password prompt for automation?
Configure passwordless sudo on the remote host and pass --no-ask-become-pass to the CLI command. This is recommended for CI/CD pipelines.
Can I run multiple runners on the same host?
Yes. Each runner instance is fully isolated with its own system user (grm-<name>), rootless Docker daemon, data directory, and systemd user service. Install additional runners with different --name values and manage them independently by name.
Why does my runner appear offline after installation?
Check that GITEA_URL and GITEA_REGISTRATION_TOKEN are correct, verify the runner service is running with sudo -u grm-<name> systemctl --user status gitea-runner, and check the logs for registration errors. You can also confirm the runner appears as Online in the Gitea UI under Actions → Runners.
What does the "Event loop is closed" warning mean?
This is a harmless cleanup traceback from Molecule's Docker driver when the test process is interrupted. It does not indicate a test failure.
Where are runner connection details stored?
GRM stores each runner's connection details (host, user, SSH key, Gitea URL) in a local JSON registry at ~/.local/share/grm/runners.json. After installation, lifecycle commands work by runner name only — you can override any stored value by passing the corresponding flag.