Supercharged GitHub Actions Runners
Run GitHub Actions on your own hardware — fast, secure, and fully isolated.
Visit Website • Report Issue • Discussions
⚠️ This project is under heavy development. The API, configuration, and behavior may change significantly. Use at your own risk and expect breaking changes between releases.
CIHub is an open-source, self-hosted GitHub Actions runner orchestrator that delivers enterprise-grade isolation, speed, and control.
Unlike traditional shared runners, CIHub launches dedicated micro-VMs (using Firecracker) for each workflow job — ensuring complete isolation, predictable performance, and security.
- Isolation by Design: Every job runs in its own ephemeral Firecracker micro-VM. No shared state, no side effects — just a clean sandbox.
- Lightning-Fast Execution: Micro-VMs start in milliseconds. Combined with your hardware, jobs run significantly faster than cloud runners.
- Infinitely Scalable: Start with a single machine or grow to a distributed cluster. Orchestrator handles load balancing and scheduling.
- Multi-Architecture Support: Support for both
amd64andarm64architectures with automatic platform detection. - Zero-Friction Integration: Drop-in replacement for GitHub Actions runners. Use standard workflow syntax with simple labels:
jobs:
test:
runs-on: cihub-2cpu-4gb-amd64CIHub consists of two main components:
- Server – Central coordinator that receives GitHub webhooks, manages runner assignment, handles job scheduling, exposes REST APIs, and serves the management UI
- Agent – Runs on each worker node to manage local Firecracker micro-VMs and execute assigned jobs
Both components communicate via REST APIs. The server handles all orchestration logic, while agents operate autonomously on their assigned nodes.
We take security seriously. If you discover a vulnerability:
Please report it responsibly to contact@cihub.io instead of using public issues.
We will acknowledge receipt within 24 hours and provide updates as fixes are developed.
We welcome contributions! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
Licensed under the Mozilla Public License 2.0
