Files
proxmox-to-sentri/README.md
2026-05-17 19:02:44 +02:00

84 lines
1.9 KiB
Markdown

# Proxmox to Sentri
Proxmox to Sentri is a utility script that retrieves all virtual machines from a Proxmox cluster and imports them into Sentri as servers.
The script collects information such as:
- VM name
- Power state
- CPU and memory allocation
- Disk configuration
- IPv4 and IPv6 addresses
- Snapshot count
- Backup availability
- Operating system information
- VM descriptions/notes
---
# Requirements
## System Requirements
The machine running this script must:
- Have network access to the Proxmox web interface/API
- Have the following packages installed:
- `curl`
- `jq`
- `git` (required for installation)
## Proxmox Requirements
A Proxmox user account with permission to view VMs and storage information is required.
Recommended role:
- `PVEAuditor`
## Optional: Guest IP Address Collection
To collect IPv4, IPv6, and operating system information from virtual machines, install the QEMU Guest Agent inside each VM.
Example for AlmaLinux/RHEL:
```bash
sudo dnf install -y qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
```
Then enable the QEMU Guest Agent in Proxmox:
```
qm set <VMID> --agent enabled=1
```
---
# Installation
Clone the repository and configure the environment file:
```
cd /optgit clone https://gitea.mooij.me/meteo/proxmox-to-sentri.gitcd proxmox-to-sentricp .env-sample .envchmod 600 .envchmod 740 proxmox-to-sentri.sh
```
Optional: Create a global command:
```
ln -sf /opt/proxmox-to-sentri/proxmox-to-sentri.sh /usr/bin/proxmox-to-sentri
```
---
# Configuration
Edit the `.env` file and configure the Proxmox connection settings:
```
PM_HOST="https://proxmox.example.com:8006"
PM_USER="root@pam"
PM_PASS="your-password"
```
---
# Running the Script
Run the script directly:
```
./proxmox-to-sentri.sh
```
Or, if you created the symlink:
```
proxmox-to-sentri
```
---
# Output
Generated JSON files are written to:
```
/opt/proxmox-to-sentri/output/
```
One JSON file is generated per VM.