Skip to main content
Deploy Proliferate on Azure using a Virtual Machine with Docker Compose.

Prerequisites

  • Azure account with VM access
  • Domain name (optional, for HTTPS)
  • API keys:
    • Anthropic API key
    • Sandbox provider credentials (Modal or E2B)

Step 1: Create Virtual Machine

  1. Go to Azure Portal
  2. Click Create a resourceVirtual Machine
  3. Configure:
    • Name: proliferate
    • Region: Choose closest to your users
    • Image: Ubuntu Server 22.04 LTS
    • Size: Standard_D2s_v3 (2 vCPUs, 8 GB RAM)
    • Authentication: SSH public key
    • Inbound ports: SSH (22), HTTP (80), HTTPS (443)
  4. Click Review + createCreate

Step 2: Connect to VM

# Get public IP
az vm show -d -g proliferate-rg -n proliferate --query publicIps -o tsv

# SSH into VM
ssh azureuser@<PUBLIC_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://<PUBLIC_IP>:3000

VM Sizing

Use CaseVM SizevCPUsMemoryCost/month
TestingStandard_B2s24 GB~$30
Small teamStandard_D2s_v328 GB~$70
ProductionStandard_D4s_v3416 GB~$140

Enable HTTPS

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

Troubleshooting

  • Check NSG (Network Security Group) allows your IP
  • Verify VM is running in Azure Portal
docker-compose logs
docker-compose down && docker-compose up -d