296 lines
6.3 KiB
Markdown
296 lines
6.3 KiB
Markdown
# DevMatrix Setup - CUSTOMIZED FOR YOUR PROXMOX
|
|
|
|
## Your Configuration Summary
|
|
|
|
| Setting | Value |
|
|
|---------|-------|
|
|
| **Proxmox IP** | 192.168.5.200 |
|
|
| **Network Bridge** | vmbr1 |
|
|
| **HDD Storage** | pve-main2 |
|
|
| **Future NVMe Storage** | pve-main |
|
|
| **TrueNAS IP** | 192.168.5.195 |
|
|
| **TrueNAS Dataset** | NAS2 |
|
|
| **VM ID Range** | 300-320 |
|
|
|
|
## VM Network Configuration
|
|
|
|
| VM ID | Name | IP Address | Purpose |
|
|
|-------|------|------------|---------|
|
|
| 300 | OpenClaw-DevMatrix | 192.168.5.210 | Main development environment |
|
|
| 301 | Windows-LTSC-Test | 192.168.5.211 | Windows testing VM |
|
|
| 302 | Android-Emulator | 192.168.5.212 | Android/mobile testing |
|
|
|
|
**Gateway:** 192.168.5.1
|
|
**DNS:** 8.8.8.8, 1.1.1.1
|
|
|
|
## Storage Layout
|
|
|
|
### Current (HDD - pve-main2)
|
|
|
|
| VM | OS Disk | Data Disk | Total |
|
|
|----|---------|-----------|-------|
|
|
| 300 | 200GB | 200GB | 400GB |
|
|
| 301 | 100GB | - | 100GB |
|
|
| 302 | 50GB | - | 50GB |
|
|
| Reserved | - | - | 150GB |
|
|
| **Total** | **350GB** | **200GB** | **550GB** |
|
|
|
|
### Future (NVMe - pve-main)
|
|
After migration, OS disks move to NVMe for better performance:
|
|
|
|
| VM | OS Disk (NVMe) | Data Disk (HDD) |
|
|
|----|----------------|-----------------|
|
|
| 300 | 200GB | 200GB |
|
|
| 301 | 100GB | - |
|
|
| 302 | 50GB | - |
|
|
|
|
## TrueNAS Integration
|
|
|
|
### Shares to Create on TrueNAS
|
|
|
|
Path: `NAS2/devmatrix/`
|
|
|
|
```
|
|
NAS2/
|
|
└── devmatrix/
|
|
├── projects/ # Project storage (read/write)
|
|
├── backups/ # Backup storage (read/write)
|
|
├── iso-archive/ # ISO storage (read-only)
|
|
└── shared/ # Shared files (read/write)
|
|
```
|
|
|
|
### Mount Points in VM 300
|
|
|
|
| TrueNAS Path | Local Mount | Usage |
|
|
|--------------|-------------|-------|
|
|
| `/mnt/NAS2/devmatrix/projects` | `/mnt/truenas/projects` | Store projects |
|
|
| `/mnt/NAS2/devmatrix/backups` | `/mnt/truenas/backups` | Automated backups |
|
|
| `/mnt/NAS2/devmatrix/iso-archive` | `/mnt/truenas/iso-archive` | Store ISOs |
|
|
| `/mnt/NAS2/devmatrix/shared` | `/mnt/truenas/shared` | Shared files |
|
|
|
|
---
|
|
|
|
## Quick Start Commands
|
|
|
|
### Step 1: Transfer Scripts to Proxmox
|
|
|
|
```bash
|
|
# From any machine with SSH access to Proxmox
|
|
scp setup_devmatrix_proxmox_custom.sh root@192.168.5.200:/root/
|
|
scp setup_openclaw_dev.sh root@192.168.5.200:/root/
|
|
scp setup_windows_vm.ps1 root@192.168.5.200:/root/
|
|
scp setup_truenas.sh root@192.168.5.200:/root/
|
|
```
|
|
|
|
### Step 2: Run Proxmox Setup
|
|
|
|
```bash
|
|
# SSH into Proxmox
|
|
ssh root@192.168.5.200
|
|
|
|
# Make script executable and run
|
|
chmod +x setup_devmatrix_proxmox_custom.sh
|
|
./setup_devmatrix_proxmox_custom.sh
|
|
```
|
|
|
|
### Step 3: Install Ubuntu on VM 300
|
|
|
|
```bash
|
|
# Start VM
|
|
qm start 300
|
|
|
|
# Connect to console (via Proxmox web UI or CLI)
|
|
qm console 300
|
|
|
|
# Install Ubuntu 22.04 Server with these settings:
|
|
# - Network: DHCP (will get 192.168.5.210)
|
|
# - Username: devmatrix
|
|
# - Import SSH key from Proxmox host
|
|
```
|
|
|
|
### Step 4: Setup Dev Environment (Inside VM 300)
|
|
|
|
```bash
|
|
# SSH into VM 300
|
|
ssh devmatrix@192.168.5.210
|
|
|
|
# Run setup
|
|
chmod +x setup_openclaw_dev.sh
|
|
./setup_openclaw_dev.sh
|
|
```
|
|
|
|
### Step 5: Configure TrueNAS (Inside VM 300)
|
|
|
|
```bash
|
|
# After setting up shares on TrueNAS web UI
|
|
chmod +x setup_truenas.sh
|
|
./setup_truenas.sh
|
|
```
|
|
|
|
### Step 6: Configure API Keys (YOU DO THIS)
|
|
|
|
```bash
|
|
# Inside VM 300
|
|
~/scripts/configure_api_keys.sh
|
|
|
|
# Enter your:
|
|
# - Kimi API Key
|
|
# - Antigravity API Key
|
|
```
|
|
|
|
### Step 7: Install Windows on VM 301
|
|
|
|
```bash
|
|
# Start Windows VM
|
|
qm start 301
|
|
|
|
# Install Windows via console
|
|
# Then run setup_windows_vm.ps1 as Administrator
|
|
```
|
|
|
|
---
|
|
|
|
## Daily Use Commands
|
|
|
|
### VM Control
|
|
|
|
```bash
|
|
# Start/stop VMs from Proxmox
|
|
qm start 300 # Start Dev VM
|
|
qm stop 300 # Stop Dev VM
|
|
qm status 300 # Check status
|
|
|
|
# Or from inside VM 300
|
|
~/scripts/vm_control.sh win-start # Start Windows
|
|
~/scripts/vm_control.sh win-stop # Stop Windows
|
|
~/scripts/vm_control.sh win-status # Check Windows status
|
|
```
|
|
|
|
### Development
|
|
|
|
```bash
|
|
# Access VS Code Server
|
|
http://192.168.5.210:8080
|
|
# Password: devmatrix-setup-2024
|
|
|
|
# Create new project
|
|
~/scripts/create_project.sh MyApp mobile
|
|
|
|
# Test on Windows
|
|
~/scripts/test_on_windows.sh /path/to/project
|
|
|
|
# Backup to TrueNAS
|
|
~/scripts/backup_to_truenas.sh
|
|
|
|
# Restore from TrueNAS
|
|
~/scripts/restore_from_truenas.sh 2024-02-16
|
|
```
|
|
|
|
### Migration to NVMe (When Ready)
|
|
|
|
```bash
|
|
# On Proxmox host, after installing NVMe and adding as 'pve-main' storage
|
|
/root/devmatrix-scripts/migrate_to_nvme.sh
|
|
```
|
|
|
|
---
|
|
|
|
## File Locations
|
|
|
|
### On Proxmox Host
|
|
|
|
| File | Location | Purpose |
|
|
|------|----------|---------|
|
|
| VM Info | `~/devmatrix_vm_info.txt` | Complete VM documentation |
|
|
| SSH Keys | `~/.ssh/devmatrix_id_rsa` | Private key for VM access |
|
|
| Migration Script | `/root/devmatrix-scripts/migrate_to_nvme.sh` | NVMe migration tool |
|
|
| ISOs | `/var/lib/vz/template/iso/` | VM installation media |
|
|
|
|
### Inside VM 300 (Main Dev VM)
|
|
|
|
| Directory | Purpose |
|
|
|-----------|---------|
|
|
| `~/projects` | Local project storage |
|
|
| `~/projects-nas` | TrueNAS project storage (symlink) |
|
|
| `~/scripts` | Helper scripts |
|
|
| `~/.openclaw` | OpenClaw configuration |
|
|
| `/mnt/truenas/` | Mounted TrueNAS shares |
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Can't Access VM 300
|
|
|
|
```bash
|
|
# From Proxmox, check VM status
|
|
qm status 300
|
|
qm log 300
|
|
|
|
# Check IP assignment
|
|
qm guest exec 300 -- ip addr show
|
|
|
|
# Reset network if needed
|
|
qm guest exec 300 -- netplan apply
|
|
```
|
|
|
|
### TrueNAS Mounts Not Working
|
|
|
|
```bash
|
|
# Check connectivity
|
|
ping 192.168.5.195
|
|
|
|
# List available shares
|
|
showmount -e 192.168.5.195
|
|
|
|
# Check mounts
|
|
df -h | grep truenas
|
|
|
|
# Remount
|
|
sudo mount -a
|
|
```
|
|
|
|
### Slow Performance on HDD
|
|
|
|
Normal for initial setup. After migration to NVMe:
|
|
- VM boot time: ~10x faster
|
|
- Disk I/O: ~5x faster
|
|
- Compilation: ~2-3x faster
|
|
|
|
### Out of Disk Space
|
|
|
|
```bash
|
|
# Check usage
|
|
pvesm status
|
|
|
|
# Expand VM disk if needed
|
|
qm resize 300 scsi0 +50G
|
|
|
|
# Then expand filesystem inside VM
|
|
sudo resize2fs /dev/sda1
|
|
```
|
|
|
|
---
|
|
|
|
## Next Steps After Setup
|
|
|
|
1. ✅ Install Ubuntu on VM 300
|
|
2. ✅ Run `setup_openclaw_dev.sh`
|
|
3. ✅ Configure TrueNAS shares and run `setup_truenas.sh`
|
|
4. ✅ Add API keys with `configure_api_keys.sh`
|
|
5. ✅ Install Windows on VM 301
|
|
6. ✅ Test everything works
|
|
7. 🚀 Start building with AI-powered development!
|
|
|
|
---
|
|
|
|
## Support
|
|
|
|
If you encounter issues:
|
|
1. Check `~/devmatrix_vm_info.txt` for reference
|
|
2. Review logs: `qm log <vmid>`
|
|
3. Run diagnostics from this guide
|
|
4. Ask me for help with specific errors!
|
|
|
|
**Ready to set up your DevMatrix?** Start with Step 1 above! 🚀
|