Skip to content

Documentation

Runaway is a self-hosted orchestrator for ephemeral GitHub Actions runners. You run it on your own machines — a homelab box, a VPS, anything with Docker — and it manages true-ephemeral runners across your GitHub organizations and personal accounts from one place.

Each runner runs exactly one job and is then destroyed and replaced, so there’s no accumulated state and no writeable-layer bloat. There’s no Kubernetes cluster to operate and no SaaS in the loop: your runners, your servers, your data.

Start with the Quickstart — it takes you from nothing to a runner picking up a job in about five minutes.

  • Concepts — how Runaway thinks: ephemeral runners, the reconciliation loop, hosts and agents, scale sets, autoscaling, and per-install identity.
  • Configure — scale sets, custom environment variables, caching, private runner images, and isolated runtimes.
  • Operate — add hosts, enable webhooks, keep the stack updated, monitor your fleet, and troubleshoot.
  • Self-hosting — deploy with Docker Compose or Coolify, terminate TLS, back up your data, and expose the hub safely.
  • Recipes — compose Runaway with registry proxies, cache backends, GPUs, and cloud OIDC.
  • Reference — environment variables, GitHub PAT scopes, writing workflows for Runaway runners, and a glossary.