Now in Public Beta

Ship anything. Anywhere. At scale.

TurboCI is a configuration-driven infrastructure orchestrator for deploying multi-cloud server stacks. Server provisioning, private networking, load balancing, and zero-downtime rolling deploys, all from a single YAML file.

# .turboci/config.yaml - Deploy to multiple clouds with one config
- deployment_name: my_app_hetzner
  provider: hetzner
  location: hil
  services:
    web:
      instances: 3
      clusters: 2
      healthcheck:
        cmd: curl http://localhost/health
        test: OK
      
- deployment_name: my_app_aws
  provider: aws
  location: us-east-1
  duplicate_deployment_name: my_app_hetzner  # Inherit all configs

Everything you need, nothing you don't

Terraform is overkill. Kubernetes is overhead. TurboCI is enough.

Run Any Workload

Default VPS, Docker, or NGINX load balancer. Pick the service type that fits. Run any command on any server, in any order.

Multi-Cloud by Default

Deploy to Hetzner, AWS, GCP, or Azure. Use duplicate_deployment_name to mirror a full stack to another provider with a single config override.

Zero-Downtime Rollouts

Clusters are deployed sequentially. Each cluster must pass a health check before the next one starts, and before traffic is shifted. At least one cluster stays live throughout.

Networking Done For You

Every deployment gets a private network and a relay server that acts as NAT gateway, distribution hub, and SSH entry point, automatically.

One YAML, Everything

No Terraform modules, no Kubernetes manifests, no Helm charts. Just one simple YAML that defines your entire infrastructure.

VPS Orchestration

Provision servers, install dependencies, configure services, manage load balancers, all from one orchestrator.

One config file. All your clouds.

While Kubernetes requires different manifests per cloud and Terraform needs separate modules for each provider, TurboCI uses one YAML file for everything.

Single YAML

Define all your deployments, services, and instances in one file. No separate configs per cloud provider.

One source of truth for all infrastructure
Same config works on any cloud
No cloud-specific syntax to learn

Simple Setup

Just add your cloud provider API keys as environment variables. That's it.

# Add to your environment or .env file
TURBOCI_HETZNER_API_KEY=your_key
TURBOCI_AWS_ACCESS_KEY=your_key
TURBOCI_AWS_SECRET_ACCESS_KEY=your_key

Only add keys for the clouds you use. TurboCI automatically detects available providers.

Compare the complexity

1
TurboCI
config file
10+
Kubernetes
manifests per cloud
20+
Terraform
modules and configs

Updates that protect production

TurboCI's cluster-based rolling rollout ensures zero downtime. At least one cluster always stays live during every deployment.

Sequential Cluster Rollout

Servers are grouped into clusters. TurboCI deploys clusters one at a time. Each cluster must be healthy before the next one starts.

With instances: 2 and clusters: 3, you get 6 servers updated in 3 sequential batches of 2.

Health-Checked Before Go-Live

Each cluster must pass a health check: a command whose output must contain an expected string, before its load balancer upstream is updated.

TurboCI retries up to 5 times with 5-second delays. If it never passes, the deployment halts and the remaining clusters are left untouched.

Zero Downtime, Always

Because clusters are updated sequentially and traffic is only shifted after a successful health check, at least one cluster is always live and serving requests throughout the entire rollout.

If a cluster fails its health check, the rollout stops immediately. The live clusters keep running, and your load balancer continues routing traffic to them, with no manual intervention needed.

Deploy in three simple steps

From zero to production in minutes, not days.

1

Define Your Infrastructure

Create a config file at .turboci/config.yaml in your project root, or run turboci init for an interactive setup wizard.

# .turboci/config.yaml
- deployment_name: web_hetzner
  provider: hetzner
  services:
      web:
          instances: 2
          clusters: 3
    
2

Set Your API Keys

Add cloud provider API keys to your environment or .env file. One-time setup.

# .env file
TURBOCI_HETZNER_API_KEY=your_key
TURBOCI_AWS_ACCESS_KEY=your_key
TURBOCI_AWS_SECRET_ACCESS_KEY=your_key
3

Deploy & Scale

Run one command and watch TurboCI orchestrate everything automatically.

$ turboci up
✓ Provisioning servers
✓ Configuring network
✓ Deployed successfully

Advanced: Target or Skip Services

Deploy only specific services:

$ turboci up -t web_hetzner.web
$ turboci up --target web_hetzner.web web_aws.api

Skip specific services:

$ turboci up -s web_hetzner.web
$ turboci up --skip web_hetzner.web web_aws.api

Tear down your infrastructure:

$ turboci down

Why teams choose TurboCI

One orchestrator replaces Kubernetes + Terraform. No vendor lock-in, no complexity.

FeatureTurboCI ✓KubernetesTerraform
Infrastructure ModelOne concept: deployment → VPS + private networkPods, Services, Ingress, ConfigMaps, Secrets...Provider-specific resources (EC2, VPC, ALB, RDS...)
ConfigurationOne YAML fileMultiple manifests + Helm chartsDozens of .tf files + modules per provider
NetworkingAutomatic per deployment (NAT + routing built-in)Manual CNI, Services, Ingress setupDefine VPCs, subnets, NAT gateways, security groups
Multi-CloudNative. Same config, any provider.Complex federation, separate clustersRewrite modules per provider
Workload FlexibilityContainers, Compose, or plain appsContainers onlyN/A (infrastructure only)
Load BalancingBuilt-in service typeIngress controllers + cloud LBsAWS ALB, Hetzner LB, etc. (vendor lock-in)
DatabasesDeploy on VPS, full controlStatefulSets or external servicesRDS, CloudSQL, etc. (vendor lock-in)
Learning CurveHoursWeeks to monthsDays to weeks

Ready to simplify your deployments?

Download TurboCI and deploy your first application in under 10 minutes.

$ turboci up
✓ Private network ready
✓ SSH keys registered
✓ Provisioning 6 servers
✓ Syncing files  →  relay  →  servers
✓ Installing dependencies
✓ Preflight complete
✓ Application started
✓ Healthcheck passed
✓ Load balancer updated

  Deployed in 3m 47s

Lean Configuration • Cross-platform • No installation required