This guide will help you set up and deploy Proxpilot-AI in your homelab environment.
- Proxmox VE cluster (minimum 3 nodes recommended)
- 16GB RAM per node (minimum)
- 100GB storage per node
- Network connectivity between nodes
- Proxmox VE: 7.0 or higher
- Terraform: 1.5.0 or higher
- Ansible: 2.14.0 or higher
- Git: Latest version
- SSH: Key-based authentication configured
- Static IP addresses for all nodes
- DNS resolution (optional but recommended)
- Firewall rules for required ports
git clone https://github.com/Giuseppe197575/Proxpilot-AI.git
cd Proxpilot-AI-
Create API token in Proxmox:
- Log into Proxmox web interface
- Go to Datacenter → Permissions → API Tokens
- Create token with appropriate permissions
-
Update Terraform variables:
cp terraform/terraform.tfvars.example terraform/terraform.tfvars nano terraform/terraform.tfvars
Set the following variables:
proxmox_api_url = "https://your-proxmox-host:8006/api2/json" proxmox_api_token_id = "user@pam!token-name" proxmox_api_token_secret = "your-token-secret" ssh_public_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..."
cp inventory/hosts.example.yml inventory/hosts.yml
nano inventory/hosts.ymlUpdate with your infrastructure details:
- Proxmox node IPs and hostnames
- K3s node IPs
- Service node IPs
make initThis will:
- Set up configuration files
- Check prerequisites
- Prepare the environment
make planReview the Terraform plan to ensure it matches your expectations.
make applyThis will:
- Create VMs/LXCs on Proxmox
- Configure network settings
- Set up base operating systems
make configThis will:
- Install required packages
- Configure services
- Deploy K3s cluster
- Set up monitoring stack
After deployment, verify everything is working:
# Test connectivity
./scripts/test-connectivity.sh
# Check K3s cluster
kubectl get nodes
kubectl get pods -A
# Access monitoring
# Grafana: http://<monitoring-ip>:3000
# Prometheus: http://<monitoring-ip>:9090- Ensure SSH keys are properly configured
- Check firewall rules
- Verify network connectivity
- Verify API token permissions
- Check Proxmox URL and port
- Ensure TLS certificates are trusted
- Check Terraform version compatibility
- Verify variable definitions
- Review Terraform state files
- Customize configurations: Modify Ansible roles and Terraform modules
- Add services: Deploy additional applications to K3s
- Configure monitoring: Create custom Grafana dashboards
- Set up backups: Implement backup strategies
- Enable security: Configure firewall and access controls
- Check the Troubleshooting Guide
- Review API Reference
- Open an issue on GitHub
- Join the community discussions