GitLab Runners Setup
We use Cloud Runner for our GitLab CI/CD runners. They provide fully managed runners so we don't have to maintain our own infrastructure.
Why Cloud Runner?
In January 2025, we migrated from self-hosted Hetzner runners to Cloud Runner because:
- No maintenance - They handle all infrastructure, updates, and monitoring
- Better pricing - €119/mo fixed vs ~€144/mo average with Hetzner
- Equivalent or better performance - Despite fewer cores, optimized setup yields similar or faster job times
- macOS runners - Native Mac mini M4/M4 Pro available as soon as we need them
Available Runners
| Runner | Specs | Use Case |
|---|---|---|
| Linux | 24 CPU cores, 24GB RAM | All projects (farfalla, medusa, criceto, castoro, docs, etc.) |
| Mac mini M4 | 10 CPU / 10 GPU, 24GB RAM | fenice iOS/Android builds (available when needed) |
| Mac mini M4 Pro | 12 CPU / 16 GPU, 24GB RAM | fenice builds (available when needed) |
Configuration
Jobs run on Cloud Runner by default. No special configuration needed for most projects.
For project-specific runner requirements, refer to Cloud Runner's documentation.
Historical Reference
For documentation on our previous self-hosted Hetzner setup, see Hetzner Runners Setup (Archived).