devmatrix-scripts/DEVMATRIX_CUSTOM_SETUP.md

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! 🚀