Skip to main content
Deploy Proliferate on Google Cloud using Compute Engine with Docker Compose.

Prerequisites

  • Google Cloud account with Compute Engine access
  • Domain name (optional, for HTTPS)
  • API keys:
    • Anthropic API key
    • Sandbox provider credentials (Modal or E2B)

Step 1: Create VM Instance

  1. Go to Google Cloud Console
  2. Navigate to Compute EngineVM instances
  3. Click Create Instance
  4. Configure:
    • Name: proliferate
    • Region: Choose closest to your users
    • Machine type: e2-standard-2 (2 vCPUs, 8 GB RAM)
    • Boot disk: Ubuntu 22.04 LTS, 50 GB SSD
    • Firewall: Allow HTTP and HTTPS traffic
  5. Click Create

Step 2: Connect to VM

# SSH into VM
gcloud compute ssh proliferate

# Or get external IP and use standard SSH
gcloud compute instances describe proliferate --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
ssh username@<EXTERNAL_IP>

Step 3: Install Docker

# Update system
sudo apt update && sudo apt upgrade -y

# Install Docker
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER

# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# Log out and back in
exit

Step 4: Deploy Proliferate

# Clone repository
git clone https://github.com/proliferate-ai/proliferate.git
cd proliferate

# Configure environment
cp .env.example .env
nano .env  # Add your API keys and set DEPLOYMENT_PROFILE + NEXT_PUBLIC_* URLs

# Start services
docker-compose -f docker-compose.prod.yml up -d

Step 5: Access

Open in your browser: http://<EXTERNAL_IP>:3000

Machine Type Sizing

Use CaseMachine TypevCPUsMemoryCost/month
Testinge2-small22 GB~$15
Small teame2-standard-228 GB~$50
Productione2-standard-4416 GB~$100

Enable HTTPS

For production, configure a domain and use Caddy for automatic HTTPS. See the AWS guide for Caddy setup instructions.

Troubleshooting

  • Check firewall rules allow your IP
  • Verify VM is running in Cloud Console
docker-compose logs
docker-compose down && docker-compose up -d