Runstone
Self-hosted GitHub Actions runner management
Runstone manages GitHub Actions runners on your own hardware. Build custom runner images, cache dependencies persistently, run a built-in Turborepo remote cache, and scale across parallel shards — all through a clean web interface.
Everything you need to manage your runners
A complete solution for self-hosted GitHub Actions runner management.
GitHub Runner Management
Register, start, stop, and cycle self-hosted GitHub Actions runners from a single dashboard. No more SSH or manual configuration.
Custom Runner Images
Build tailored Docker images with your exact toolchain — Node.js, Python, Go, Rust, or any combination. Select from a component catalogue and build with one click.
Turborepo Remote Cache
Built-in Turbo remote cache server. Your build artefacts stay on-premises at local disk speed — no Vercel account or S3 bucket required.
Persistent Dependency Cache
pnpm store, npm cache, and pip cache persist across runner restarts on host volumes. No re-downloading dependencies on every job.
Ephemeral Runners
Automatically deregister, clean up, and re-register runners after each job. Fresh environment every time, zero state leakage.
Shard Labels
Spin up multiple runner instances per config with unique shard labels. Parallelise your CI builds across your hardware.
Web Dashboard
Monitor all your runners in real time through a responsive web UI. CPU, memory, runner status, and current jobs at a glance.
Multi-Repo Support
Connect runners to any GitHub repository or organisation. Manage runners for multiple projects from one place.
Self-Hosted & Secure
Runs on your hardware as a Docker container. GitHub tokens are AES-256-GCM encrypted and never leave your server. Compatible with Unraid and any Docker host.
Workflow Analyser
Paste a GitHub Actions workflow YAML and get a compatibility score. Identifies unsupported actions, missing labels, and version issues before you commit.
Real-Time Monitoring
Live CPU and memory charts, runner status updates via WebSocket, structured logs, and system resource recommendations — all in your browser.
Memory-Aware Scaling
Runstone automatically calculates maximum runner capacity based on your container's memory budget. Scale confidently without overcommitting resources.
How it works
Install
Deploy the Docker container on Unraid or any Docker host. One command, no dependencies.
Connect GitHub
Add your repository or organisation URL and a personal access token. Runstone encrypts and stores it locally.
Configure Runners
Name your runner, set labels, choose instance count, and enable ephemeral mode. Start with one click.
Monitor
Watch your runners in real time. CPU and memory charts, job status, and system health — all from the dashboard.
Scale. Cycle. Clean.
Automate your runner lifecycle so you can focus on shipping code.
Shard your builds
Create multiple runner instances per configuration. Each gets a unique shard label so your workflows can parallelise across them.
Ephemeral cycling
After each job completes, Runstone deregisters the runner, cleans the workspace, and re-registers with a fresh environment. No stale state.
Auto-cleanup
Configurable workspace cleanup reclaims disk space automatically. Build artefacts are removed while action caches are preserved.
Ready to own your CI?
Start with one free runner. Upgrade when you need more.