8.9 KiB
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
vmbr1configured - At least 56GB RAM available (32+16+8)
- At least 750GB storage available
- Root access to Proxmox host
Files Included
setup_devmatrix_proxmox.sh- Main Proxmox setup scriptsetup_openclaw_dev.sh- Ubuntu VM environment setupsetup_windows_vm.ps1- Windows VM post-install setup
Step 1: Transfer Scripts to Proxmox
Option A: SSH (Recommended)
# From your local machine, copy scripts to Proxmox
scp setup_devmatrix_proxmox.sh root@192.168.5.200:/root/
Option B: Proxmox Shell
- Go to https://192.168.5.200:8006
- Select your node → Shell
- Use
wgetorcurlto 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:
- ✅ Checks vmbr1 exists
- ✅ Shows available storage - you pick one
- ✅ Verifies VM IDs 300-302 are available
- ✅ Checks available RAM and disk space
- ✅ Downloads Ubuntu 22.04 Server ISO
- ✅ Prompts for Windows ISO (you provide LTSC IoT)
- ✅ Creates VM 300: OpenClaw DevMatrix
- ✅ Creates VM 301: Windows LTSC Test
- ✅ Creates VM 302: Android Emulator
- ✅ Generates SSH keys for access
- ✅ 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 300from Proxmox shell
Install Ubuntu 22.04 Server:
- Select "Try or Install Ubuntu Server"
- Language: English
- Keyboard layout: Your preference
- Network: DHCP (should get IP from vmbr1)
- Proxy: Leave blank
- Mirror: Default
- Storage: Use entire disk
- Profile:
- Name:
devmatrix - Server name:
devmatrix - Username:
devmatrix - Password: [Choose a strong password]
- Name:
- SSH: Import SSH key (copy from ~/.ssh/devmatrix_id_rsa.pub on Proxmox)
- Featured Server Snaps: None (we'll install everything manually)
- Wait for installation to complete
- 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:
- Kimi API Key - Get from https://kimi.moonshot.cn/
- 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:
- Connect via Proxmox Console
- Standard Windows 11 LTSC installation
- Region/keyboard: Your preference
- Network: Let it connect to vmbr1
- Microsoft account: Skip (use offline account)
- Username:
testuser - Password:
DevMatrix2024!(or your choice)
Post-Install Setup:
- Log in as testuser
- Open PowerShell as Administrator
- Transfer setup script:
# From Proxmox, copy to VM scp setup_windows_vm.ps1 testuser@<win-vm-ip>:C:/Scripts/ - 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
To Set Static IPs (recommended):
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
- API Keys: Only stored on VM 300, never transmitted
- SSH Keys: Generated on Proxmox, private key stays on Proxmox
- Windows Password: Change after setup if desired
- VS Code Password: Change in ~/.config/code-server/config.yaml
- 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
- ✅ Run Proxmox setup script
- ✅ Install Ubuntu on VM 300
- ✅ Run dev environment setup
- ✅ Add your API keys
- ✅ Install Windows on VM 301
- ✅ Test the setup
- 🚀 Start building with AI-powered development!
Support
If you encounter issues:
- Check logs:
qm log <vmid> - Review this guide
- Check OpenClaw docs: https://docs.openclaw.ai
- Ask me for help!
Ready to build something amazing? 🚀