# Create Service VMs - Quick Guide ## Option 1: Using Proxmox Web UI (Easiest) ### Access Proxmox - ML110: https://192.168.1.206:8006 - R630: https://192.168.1.49:8006 - Login: root / (password from PVE_ROOT_PASS) ### Create Cloudflare Tunnel VM 1. Click "Create VM" 2. **General**: - VM ID: 100 - Name: cloudflare-tunnel - Resource Pool: (leave default) 3. **OS**: - Use CD/DVD: ISO image (Ubuntu 22.04 LTS) - Or: Use existing template if available 4. **System**: - Graphics: Default - Qemu Agent: Enable 5. **Hard Disk**: - Storage: local - Disk size: 40GB - Cache: Write back 6. **CPU**: - Cores: 2 - Type: host 7. **Memory**: - RAM: 4096 MB 8. **Network**: - Bridge: vmbr0 - Model: VirtIO 9. **Cloud-Init** (if using template): - IP Config: 192.168.1.60/24 - Gateway: 192.168.1.254 - DNS: 8.8.8.8 - User: ubuntu - SSH Keys: (add your public key) 10. Click "Finish" and start VM ### Create K3s VM Repeat above with: - VM ID: 101 - Name: k3s-master - CPU: 4 cores - RAM: 8192 MB - Disk: 80GB - IP: 192.168.1.188 ### Create Git Server VM - VM ID: 102 - Name: git-server - CPU: 4 cores - RAM: 8192 MB - Disk: 100GB - IP: 192.168.1.121 ### Create Observability VM - VM ID: 103 - Name: observability - CPU: 4 cores - RAM: 8192 MB - Disk: 200GB - IP: 192.168.1.82 ## Option 2: Using Terraform ```bash cd terraform/proxmox # Initialize Terraform terraform init # Review plan terraform plan # Apply (create VMs) terraform apply ``` **Note**: Requires VM templates to be created first in Proxmox. ## Option 3: Using Proxmox API (Advanced) See `scripts/proxmox/create-service-vms.sh` for API-based creation. ## Next Steps After VM Creation 1. **Install OS** on each VM (if not using template) 2. **Configure network** (static IPs) 3. **Install cloudflared** on Tunnel VM 4. **Install K3s** on K3s VM 5. **Deploy services** on respective VMs See [DEPLOYMENT_WITHOUT_AZURE.md](DEPLOYMENT_WITHOUT_AZURE.md) for detailed setup.