Skip to content

Zoomies and gharp

gharp (the GitHub Actions Runner Pool) is a self-hosted, Docker-based pool of ephemeral runners with a built-in dashboard. It shares more with Zoomies than most alternatives do: webhook-driven autoscaling, one job per runner and support for repositories on personal accounts, which GitHub's own runner groups do not offer.

Written from gharp's README and repository page, reviewed in October 2026. It is a young project, so check its repository first. This is a comparison of documentation, not a benchmark, and a feature the README does not mention is not a claim that it is missing.

Side by side

gharp Zoomies
Model and licence Self-hosted Go service; Apache-2.0 Self-hosted Go binary; AGPL-3.0
Needs Kubernetes No No
Installed with A container image, with a compose file for the full setup One command, a compose file, or a container
How it learns of jobs Webhooks; the base URL must be a public HTTPS address GitHub can reach workflow_job webhooks, with polling as a fallback
Ephemeral runners One job per runner One job per runner, by default
Repositories Several, including personal accounts An organisation, or repositories on a personal account
Seeing the fleet A dashboard with Prometheus metrics and retry and cancel controls A live web UI, metrics, an audit log and live job logs
Hosts A pool on one Docker host One controller and any number of agents
Moving workflows onto it Labels set by an environment variable A migration wizard that opens one pull request per repository

When gharp is the better choice

  • You want the smallest possible setup. One container, one public URL and a dashboard, for a handful of repositories on a single machine.
  • You prefer a permissive licence. It is Apache-2.0, where Zoomies is AGPL-3.0. For internal use the difference rarely matters, but some companies have a policy.

When Zoomies is the better choice

  • You run more than one host, or have machines behind NAT. Agents dial out, so nothing is opened.
  • You cannot give GitHub a public address. Polling is the fallback, so a controller on a private network still works.
  • You need access control and an audit trail across several people.
  • You are migrating a lot of workflows and want them rewritten for you.

gharp's own README warns that self-hosted runners on public repositories mean running code from anyone who can open a pull request. That is true of every tool here, Zoomies included. See security.

Where to go next