56 lines
1.5 KiB
Markdown
56 lines
1.5 KiB
Markdown
# Prox Visualizer
|
|
|
|
Dashboard local pour inventorier les VM/LXC Proxmox et reperer les doublons par nom ou par metadata `duplicate_id` quand les notes sont accessibles.
|
|
|
|
## Backend
|
|
|
|
```bash
|
|
cd backend
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
cp .env.example .env
|
|
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
|
```
|
|
|
|
Le fichier `backend/.env` attend une liste JSON:
|
|
|
|
```bash
|
|
PROXMOX_SERVERS='[
|
|
{
|
|
"name": "PVE-203",
|
|
"url": "https://10.0.3.203:8006",
|
|
"token_name": "api-visualizer@pve!visualizer-token",
|
|
"token_value": "secret-du-token"
|
|
}
|
|
]'
|
|
```
|
|
|
|
Avec des droits de lecture limites, le scan tente de lister les VM/LXC. La lecture des descriptions est optionnelle: si Proxmox refuse l'acces aux configs, les machines restent visibles mais `duplicate_id` reste vide.
|
|
|
|
## Frontend
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
Vite sert le dashboard sur `http://localhost:5173` et proxifie `/api` vers `http://127.0.0.1:8000`.
|
|
|
|
Pour rendre l'application disponible sur le reseau local:
|
|
|
|
```bash
|
|
./start.sh
|
|
```
|
|
|
|
Ouvre ensuite l'URL `Network` affichee par Vite, par exemple `http://10.0.3.x:5173/`.
|
|
|
|
## Routes utiles
|
|
|
|
- `GET /`: etat de l'API.
|
|
- `GET /api/proxmox/servers`: serveurs configures, sans secrets.
|
|
- `GET /api/vms/scan`: inventaire, etat des serveurs et groupes de doublons.
|
|
- `GET /api/ai/context`: contexte JSON compact pour une IA ou un outil externe.
|
|
- `GET /api/ai/context.md`: meme contexte au format Markdown.
|