Nimbus is a daemon that provisions and manages the infrastructure (runners, cache, and more) for build systems and test runners to operate optimally. It acts as a glue layer between build and test environments (CI systems, agents, developer machines) and cloud infrastructure, enabling teams to run builds, tests, and custom workflows efficiently and safely from anywhere.
Nimbus provides standalone value as an open-source tool for infrastructure management, while creating a natural pathway to Tuist's managed offerings. Similar to how Grafana Cloud hosts Grafana instances, Tuist can host Nimbus daemons while also supporting self-hosted deployments.
Key features:
- 🔗 Git Forge Integration: Connects with GitHub, GitLab, Forgejo, and other Git forges
- ☁️ Multi-Cloud Support: Interfaces with AWS, GCP, Hetzner, and local environments
- ⚡ Elastic Infrastructure: On-demand provisioning of runners, cache, and supporting infrastructure
- 🎯 Build Optimization: Designed to help build systems and test runners operate at peak efficiency
- 🏠 Flexible Deployment: Can be self-hosted or managed by Tuist
- 🔒 Per-Tenant Isolation: Each tenant runs their own isolated Nimbus daemon process
The easiest way to install and run Nimbus is using mise with the UBI backend:
# Install and run the latest version
mise x ubi:tuist/nimbus@latest -- nimbus start
# Or install globally
mise use -g ubi:tuist/nimbus@latest
nimbus startdocker pull ghcr.io/tuist/nimbus:latest
docker run -p 4000:4000 ghcr.io/tuist/nimbus:latestDownload pre-built binaries from the latest release:
- macOS (Apple Silicon):
nimbus-macos-aarch64.tar.gz - macOS (Intel):
nimbus-macos-x86_64.tar.gz - Linux (x86_64):
nimbus-linux-x86_64.tar.gz - Linux (ARM64):
nimbus-linux-aarch64.tar.gz
Extract and run:
tar xzf nimbus-*.tar.gz
./nimbus_*/bin/nimbus startThis project uses mise for tool version management. Install the required tools with:
mise installRun tests:
mix testDocumentation can be generated with ExDoc:
mix docs