Self-hosted runners,
isolated & secure
Manage your GitHub Actions runner fleet with VM isolation, secure token storage, and a beautiful CLI. Each runner gets its own isolated VM.
Built for security-conscious teams
Every feature designed with isolation and security in mind.
VM Isolation
Each runner gets its own isolated VM. Complete isolation means no cross-contamination between jobs.
Secure Token Storage
GitHub tokens are stored securely in your macOS Keychain. Never in plain text, never in your database.
Menu Bar App
Native macOS app shows fleet status at a glance. See which VMs are running without leaving your workflow.
Fleet Management
Create, destroy, and monitor runners with simple CLI commands. Customize VM resources per runner.
Health Monitoring
Automatic health checks every 60 seconds. Know immediately when a runner goes offline.
Built with Rust
Fast, reliable, and memory-safe. No runtime dependencies, single binary deployment.
How it works
GAR sits between GitHub and your VMs, orchestrating the entire runner lifecycle.
┌─────────────────────────────────────────────────────────────┐ │ macOS Host │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ gar server │ │ gar fleet │ │ gar-app (menu) │ │ │ │ - web api │ │ - create │ │ - status display │ │ │ │ - jobs │ │ - destroy │ │ - VM monitoring │ │ │ │ - cron │ │ - list │ │ │ │ │ └──────┬──────┘ └──────┬──────┘ └─────────────────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌─────────────────────────────────────┐ │ │ │ PostgreSQL │ │ │ │ - runners table │ │ │ │ - config table │ │ │ └─────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────┐ │ │ │ Isolated VMs │ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │gar-run1 │ │gar-run2 │ ... │ │ │ │ │ runner │ │ runner │ │ │ │ │ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘
Ready to take control of your runners?
Get started with GAR and run your own isolated runner fleet.