Skip to content

Documentation

Self-host SuperPlane

Install SuperPlane on one VM with Docker Compose, or on AWS, Azure, and Google Cloud.

Run SuperPlane on your own machines. Install on a single VM uses Docker Compose on one Linux machine. Install on your cloud uses Terraform and Kubernetes on AWS, Azure, or Google Cloud. You then create the owner account. Cloud installs also install Fleet Manager from the browser.

flowchart LR
  tf[Terraform] --> cluster["Kubernetes cluster (EKS, AKS, or GKE)"]
  tf --> data["Managed Postgres and object storage"]
  tf --> app["SuperPlane Helm release"]
  app --> setup["Owner setup at /setup"]
  setup --> fm["Fleet Manager Helm release"]
  fm --> vms["Runner VMs from runner images"]

Terraform creates the cluster and the application. Owner setup installs Fleet Manager, which starts the runner virtual machines.

The browser steps are the same on each cloud. Three things differ:

  • AWS. DNS is a CNAME to the load balancer, after Terraform. Runner images are public AMIs in us-east-1.
  • Azure. DNS is an A record to the load balancer, after Terraform. Runner images are in the SuperPlane community gallery.
  • Google Cloud. Create the static IP and the A record before Terraform. Public runner images are not published yet. Build the runner image with Packer before Terraform.

The cloud account pays for the cluster, the database, the load balancer, and any runner machines that stay running.