devmatrix-scripts/DEVMATRIX_SETUP_GUIDE.md

8.9 KiB

DevMatrix Proxmox Setup - Complete Guide

Overview

This guide will set up a complete autonomous development environment on your Proxmox server with:

  • VM 300: OpenClaw DevMatrix (Ubuntu 22.04) - 32GB RAM, 16 cores
  • VM 301: Windows 11 LTSC IoT Test VM - 16GB RAM, 8 cores
  • VM 302: Android Emulator VM - 8GB RAM, 4 cores

Prerequisites

  • Proxmox VE 7.x or 8.x
  • Network bridge vmbr1 configured
  • At least 56GB RAM available (32+16+8)
  • At least 750GB storage available
  • Root access to Proxmox host

Files Included

  1. setup_devmatrix_proxmox.sh - Main Proxmox setup script
  2. setup_openclaw_dev.sh - Ubuntu VM environment setup
  3. setup_windows_vm.ps1 - Windows VM post-install setup

Step 1: Transfer Scripts to Proxmox

# From your local machine, copy scripts to Proxmox
scp setup_devmatrix_proxmox.sh root@192.168.5.200:/root/

Option B: Proxmox Shell

  1. Go to https://192.168.5.200:8006
  2. Select your node → Shell
  3. Use wget or curl to download scripts

Step 2: Run Proxmox Setup Script

# SSH into Proxmox
ssh root@192.168.5.200

# Make script executable
chmod +x setup_devmatrix_proxmox.sh

# Run setup
./setup_devmatrix_proxmox.sh

What the script does:

  1. Checks vmbr1 exists
  2. Shows available storage - you pick one
  3. Verifies VM IDs 300-302 are available
  4. Checks available RAM and disk space
  5. Downloads Ubuntu 22.04 Server ISO
  6. Prompts for Windows ISO (you provide LTSC IoT)
  7. Creates VM 300: OpenClaw DevMatrix
  8. Creates VM 301: Windows LTSC Test
  9. Creates VM 302: Android Emulator
  10. Generates SSH keys for access
  11. Saves VM info to ~/devmatrix_vm_info.txt

Expected Output:

[DevMatrix] 🔍 Running pre-flight checks...
[DevMatrix] ✓ Network bridge 'vmbr1' found
[DevMatrix] 📦 Checking available storage...
...
[DevMatrix] 🎉 DevMatrix VMs Created Successfully!

Step 3: Install Ubuntu on VM 300

Start the VM:

qm start 300

Access Console:

  • Proxmox Web UI → VM 300 → Console
  • Or: qm console 300 from Proxmox shell

Install Ubuntu 22.04 Server:

  1. Select "Try or Install Ubuntu Server"
  2. Language: English
  3. Keyboard layout: Your preference
  4. Network: DHCP (should get IP from vmbr1)
  5. Proxy: Leave blank
  6. Mirror: Default
  7. Storage: Use entire disk
  8. Profile:
    • Name: devmatrix
    • Server name: devmatrix
    • Username: devmatrix
    • Password: [Choose a strong password]
  9. SSH: Import SSH key (copy from ~/.ssh/devmatrix_id_rsa.pub on Proxmox)
  10. Featured Server Snaps: None (we'll install everything manually)
  11. Wait for installation to complete
  12. Reboot when prompted

After Reboot:

# Find VM IP address
qm guest exec 300 -- ip addr show | grep inet

# SSH into VM from Proxmox host
ssh -i ~/.ssh/devmatrix_id_rsa devmatrix@<vm-ip>

Step 4: Setup Dev Environment on VM 300

Transfer setup script:

# From Proxmox host, copy script to VM
scp -i ~/.ssh/devmatrix_id_rsa setup_openclaw_dev.sh devmatrix@<vm-ip>:/home/devmatrix/

Run setup:

# Inside VM (SSH session)
chmod +x setup_openclaw_dev.sh
./setup_openclaw_dev.sh

This installs:

  • OpenClaw (AI orchestrator)
  • Node.js 20
  • Python + development tools
  • Docker
  • Flutter (mobile development)
  • .NET 8 (cross-platform)
  • Rust
  • Go
  • Wine (Windows compatibility)
  • Playwright (UI testing)
  • PostgreSQL & Redis
  • AWS CLI & Google Cloud SDK
  • Kubernetes tools (kubectl, helm)
  • Terraform
  • VS Code Server (web-based IDE)
  • VM control scripts

Expected Duration:

  • 15-30 minutes depending on internet speed
  • Downloads ~5GB of packages

Step 5: Configure API Keys (YOU DO THIS)

⚠️ IMPORTANT: This is the ONLY step requiring your API keys

# Inside VM 300
~/scripts/configure_api_keys.sh

You will be prompted for:

  1. Kimi API Key - Get from https://kimi.moonshot.cn/
  2. Antigravity API Key - From your provider

The script creates:

  • ~/.openclaw/config/kimi.yaml
  • ~/.openclaw/config/antigravity.yaml

Files are set to 600 permissions (owner read/write only).

Test Configuration:

openclaw models list

Step 6: Install Windows on VM 301

Prerequisites:

You need Windows 11 Enterprise LTSC IoT ISO:

  • Download from Microsoft Volume Licensing Service Center
  • Or your organization's licensing portal
  • Filename: Win11_Ent_LTSC_IoT.iso
  • Place in: /var/lib/vz/template/iso/ on Proxmox

Start VM:

qm start 301

Install Windows:

  1. Connect via Proxmox Console
  2. Standard Windows 11 LTSC installation
  3. Region/keyboard: Your preference
  4. Network: Let it connect to vmbr1
  5. Microsoft account: Skip (use offline account)
  6. Username: testuser
  7. Password: DevMatrix2024! (or your choice)

Post-Install Setup:

  1. Log in as testuser
  2. Open PowerShell as Administrator
  3. Transfer setup script:
    # From Proxmox, copy to VM
    scp setup_windows_vm.ps1 testuser@<win-vm-ip>:C:/Scripts/
    
  4. Run setup:
    cd C:\Scripts
    .\setup_windows_vm.ps1
    

This installs on Windows:

  • OpenSSH Server
  • Remote Desktop
  • Chocolatey package manager
  • Git, Python, Node.js, .NET, VS Code
  • Playwright for UI testing
  • Test automation scripts

Reboot when complete.


Step 7: Install Android Emulator (VM 302 - Optional)

VM 302 is pre-configured with Ubuntu. You can either:

Option A: Use as-is (lightweight Linux VM)

Good for testing Linux-specific code.

Option B: Install Android Emulator

qm start 302
# Install Ubuntu Server
# Then install Android SDK + Emulator

Usage Examples

Start Development Session:

# SSH into main dev VM
ssh -i ~/.ssh/devmatrix_id_rsa devmatrix@192.168.5.x

# Access VS Code in browser
# http://192.168.5.x:8080
# Password: devmatrix-setup-2024

Create New Project:

# Example: Create Flutter mobile app
openclaw swarm create "MyMobileApp" --type flutter --agents 4

# Example: Create React web app
openclaw swarm create "MyWebApp" --type react --agents 5

Test on Windows:

# From VM 300
~/scripts/vm_control.sh win-start
# Wait 60 seconds
~/scripts/test_on_windows.sh /path/to/your/dotnet/project
~/scripts/vm_control.sh win-stop

Control VMs:

# Start Windows VM
~/scripts/vm_control.sh win-start

# Check status
~/scripts/vm_control.sh win-status

# Stop Windows VM
~/scripts/vm_control.sh win-stop

# Same for Android
~/scripts/vm_control.sh android-start
~/scripts/vm_control.sh android-stop

Network Configuration

Default IPs (via DHCP on vmbr1):

  • VM 300 (Ubuntu): Assigned by DHCP
  • VM 301 (Windows): Assigned by DHCP
  • VM 302 (Android): Assigned by DHCP

On VM 300 (Ubuntu):

sudo nano /etc/netplan/00-installer-config.yaml

Change to:

network:
  ethernets:
    ens18:
      dhcp4: no
      addresses:
        - 192.168.5.150/24
      routes:
        - to: default
          via: 192.168.5.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
  version: 2
sudo netplan apply

On VM 301 (Windows): Settings → Network → Ethernet → Edit → Manual

  • IP: 192.168.5.151
  • Subnet: 255.255.255.0
  • Gateway: 192.168.5.1
  • DNS: 8.8.8.8

Troubleshooting

VM Won't Start:

# Check logs
qm log 300

# Check status
qm status 300

# Start with verbose
qm start 300 --verbose

Can't SSH to VM:

# Test from Proxmox
qm guest exec 300 -- ping -c 1 8.8.8.8

# Check IP
qm guest exec 300 -- ip addr

# Check SSH service
qm guest exec 300 -- systemctl status ssh

Windows VM No Network:

# In Windows PowerShell (Admin)
Get-NetAdapter
Get-NetIPAddress
Test-NetConnection 8.8.8.8

Out of Disk Space:

# On Proxmox
pvesm status

# Expand VM disk
qm resize 300 scsi0 +100G

Security Notes

  1. API Keys: Only stored on VM 300, never transmitted
  2. SSH Keys: Generated on Proxmox, private key stays on Proxmox
  3. Windows Password: Change after setup if desired
  4. VS Code Password: Change in ~/.config/code-server/config.yaml
  5. Firewall: VMs use vmbr1 (presumably internal network)

Backup Strategy

Create Snapshots:

# Snapshot before major changes
qm snapshot 300 pre-experiment

# Rollback if needed
qm rollback 300 pre-experiment

Backup VM Configs:

# Backup to NAS/external
vzdump 300 301 302 --compress zstd --storage <your-backup-storage>

Next Steps

  1. Run Proxmox setup script
  2. Install Ubuntu on VM 300
  3. Run dev environment setup
  4. Add your API keys
  5. Install Windows on VM 301
  6. Test the setup
  7. 🚀 Start building with AI-powered development!

Support

If you encounter issues:

  1. Check logs: qm log <vmid>
  2. Review this guide
  3. Check OpenClaw docs: https://docs.openclaw.ai
  4. Ask me for help!

Ready to build something amazing? 🚀