Single Host Installation on GCP Compute Engine
This guide walks you through setting up a new Google Compute Engine virtual machine from scratch and installing SuperPlane using the single-host installer.
1. Create a Compute Engine VM
Section titled “1. Create a Compute Engine VM”- Sign in to the Google Cloud Console.
- Select or create a project.
- Go to Compute Engine → VM instances and click Create instance.
- Configure your VM:
- Choose a region and zone close to you.
- Under Machine configuration, pick a machine type such as
e2-medium(2 vCPUs, 4 GB memory). - Under Boot disk, select an Ubuntu LTS image (for example Ubuntu 22.04 LTS).
- Under Firewall, check Allow HTTP traffic and Allow HTTPS traffic.
- Click Create and note the external IP address of the VM.
At this point you have a Linux server that is reachable from the internet.
2. Point your domain to the VM
Section titled “2. Point your domain to the VM”- In your DNS provider (Cloud DNS or another provider), create an
Arecord for your domain or subdomain (for examplesuperplane.example.com). - Point the
Arecord to the external IP of your VM. - Wait for DNS to propagate (usually a few minutes).
SuperPlane will use this domain to issue and maintain an SSL certificate.
3. Verify firewall rules
Section titled “3. Verify firewall rules”In the Google Cloud Console:
- Go to VPC network → Firewall.
- Ensure there are rules that allow:
- TCP port 22 (SSH) to your VM.
- TCP port 80 (HTTP) to your VM.
- TCP port 443 (HTTPS) to your VM.
The Allow HTTP traffic and Allow HTTPS traffic options you selected when creating the VM typically create these rules automatically.
4. Install Docker and Docker Compose
Section titled “4. Install Docker and Docker Compose”SSH into your VM using the external IP or domain. For Ubuntu images, the
default user is usually ubuntu:
gcloud compute ssh your-instance-name --zone your-zoneor using plain SSH:
ssh ubuntu@your-vm-external-ip-or-domainOn the VM, install Docker and Docker Compose. For example, on Ubuntu:
sudo apt updatesudo apt install -y ca-certificates curl gnupgsudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpgecho \ "deb [arch=$(dpkg --print-architecture) \ signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.io \ docker-buildx-plugin docker-compose-pluginsudo systemctl enable --now dockersudo usermod -aG docker ubuntunewgrp dockerYou now have a Compute Engine VM with Docker and Docker Compose installed, reachable from the internet at your chosen domain.
5. Install SuperPlane
Section titled “5. Install SuperPlane”With Docker set up, install SuperPlane using the single-host installer. First, download and unpack the installer:
wget -q https://install.superplane.com/superplane-single-host.tar.gztar -xf superplane-single-host.tar.gzcd superplaneThen run the installer:
./install.shThis downloads the single-host bundle, extracts it, and runs the installer. The installer sets up the Docker Compose stack and starts SuperPlane on your VM.
SSL certificates and public access
Section titled “SSL certificates and public access”Because SuperPlane needs to connect to external integrations and receive webhooks, your VM must be reachable from the public internet.
During installation, SuperPlane automatically:
- Issues an SSL certificate for your configured domain.
- Renews the certificate so HTTPS continues to work over time.
Ensure your firewall allows inbound traffic on ports 80 and 443 so certificate issuance and HTTPS access can succeed.
6. Enable disk snapshots
Section titled “6. Enable disk snapshots”To protect your SuperPlane instance, create regular snapshots of the boot disk.
In the Google Cloud Console:
- Go to Compute Engine → Disks.
- Find the boot disk attached to your SuperPlane VM.
- Click the disk name to open its details.
- Click Create snapshot to create a snapshot of the disk.
You can use these snapshots to restore the disk, or create a new VM with the same data if something goes wrong.
Updating SuperPlane
Section titled “Updating SuperPlane”- Check the GitHub releases for the latest version tag.
- Edit
docker-compose.ymland update theimagefield with the new tag. - Restart the stack:
docker compose pulldocker compose up -d