Skip to content

neo runner

Manage this host as a self-hosted runner

neo runner [OPTIONS] <COMMAND>

Register this machine as a runner (embedded agent — no separate install).

Zero-arg inside a pushed checkout with a stored login; defaults to actor-bound: it only claims jobs from runs you triggered. Credentials persist to ~/.config/neosource/runner.json.

neo runner register [OPTIONS]
Option Value Required Default Env Values Description
--scheduler <SCHEDULER> no Scheduler base URL. Default: inferred from this checkout’s neosource or origin remote — the two names neo push writes — then --host, then the stored login
--auth-token <AUTH_TOKEN> no NEOSOURCE_RUNNER_AUTH_TOKEN Bootstrap PAT for the registration call. Default: the stored neo auth login credential (or NEOSOURCE_TOKEN)
--labels <LABELS> no self-hosted,linux,x64 Comma-separated labels this runner advertises. See docs/runner/labels.md
--serve-default-labels no Also advertise the hosted default labels (ubuntu-latest, nix) so unmodified workflows can run on this machine
--workspace-wide no Claim ANY job in the workspace, not just runs you triggered. Requires workspace admin (server-enforced). Default is actor-bound: only jobs from runs YOU triggered (your pushes, PRs, manual dispatches)
--workspace-id <WORKSPACE_ID> no Workspace to bind to. Default: inferred from a checkout remote pointing at the scheduler
--vm-backend <VM_BACKEND> no docker_shell VM backend reported to the scheduler (docker_shell runs step containers via the host docker daemon)
--state-dir <STATE_DIR> no Where runner credentials are persisted. Defaults to $XDG_CONFIG_HOME/neosource or ~/.config/neosource

Start the long-poll claim loop.

Registers first if this machine has no persisted runner credentials yet.

neo runner start [OPTIONS]
Option Value Required Default Env Values Description
--scheduler <SCHEDULER> no Scheduler base URL. Default: inferred from this checkout’s neosource or origin remote — the two names neo push writes — then --host, then the stored login
--auth-token <AUTH_TOKEN> no NEOSOURCE_RUNNER_AUTH_TOKEN Bootstrap PAT for the registration call. Default: the stored neo auth login credential (or NEOSOURCE_TOKEN)
--labels <LABELS> no self-hosted,linux,x64 Comma-separated labels this runner advertises. See docs/runner/labels.md
--serve-default-labels no Also advertise the hosted default labels (ubuntu-latest, nix) so unmodified workflows can run on this machine
--workspace-wide no Claim ANY job in the workspace, not just runs you triggered. Requires workspace admin (server-enforced). Default is actor-bound: only jobs from runs YOU triggered (your pushes, PRs, manual dispatches)
--workspace-id <WORKSPACE_ID> no Workspace to bind to. Default: inferred from a checkout remote pointing at the scheduler
--vm-backend <VM_BACKEND> no docker_shell VM backend reported to the scheduler (docker_shell runs step containers via the host docker daemon)
--state-dir <STATE_DIR> no Where runner credentials are persisted. Defaults to $XDG_CONFIG_HOME/neosource or ~/.config/neosource