Files
Auto-Outline-Doku-Proxmox-I…/README.md
T
Claude 1bdc8e3845 Add Proxmox inventory scripts and n8n sync workflow
- proxmox-inventory.sh: text inventory (RAM/CPU/Swap/Disk/IP/Gateway/Subnetz)
- proxmox-inventory-json.sh: JSON variant with n8n webhook push, --vmids filter, --dry-run
- n8n workflow: automated fact-sync between Proxmox and Outline docs, auto-creates pages for new VMIDs, ntfy summary notification
- credentials (Outline/NTFY bearer tokens) intentionally excluded, see README
2026-07-28 07:10:04 +00:00

32 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Auto Outline Doku Proxmox Inventory
Automatischer Abgleich zwischen Proxmox-Inventar und der Homelab-Dokumentation in Outline.
## Inhalt
- `scripts/proxmox-inventory.sh` Text-Ausgabe des Proxmox-Inventars (VMID, Status, Ressourcen, Netzwerk inkl. Subnetzmaske/Gateway), zum manuellen Ausführen und Copy-Paste.
- `scripts/proxmox-inventory-json.sh` Baut dieselben Daten als JSON und sendet sie per `curl` an einen n8n-Webhook. Unterstützt `--dry-run`, `--print-only` und `--vmids=101,102,...` zum gezielten Testen einzelner Container/VMs.
- `n8n-workflows/auto-outline-doku-proxmox-inventory.json` Exportierter n8n-Workflow, der die vom Script gesendeten Daten mit Outline abgleicht: Fakten (RAM, CPU, Swap, Disk, IP, Gateway, Subnetz, MAC) patchen, neue VMIDs automatisch als Outline-Seite anlegen, und eine ntfy-Benachrichtigung mit Zusammenfassung senden.
## Setup
1. **Script konfigurieren:** In `scripts/proxmox-inventory-json.sh` die Variable `N8N_WEBHOOK_URL` auf die echte n8n-Webhook-URL setzen (aktuell ein Platzhalter, da diese pro Installation individuell ist).
2. **n8n-Workflow importieren:** JSON-Datei in n8n importieren. Folgende Credentials werden benötigt (nicht im Export enthalten, aus Sicherheitsgründen):
- **Outline Bearer Auth** (Header Auth, `Authorization: Bearer <Outline-API-Token>`) für alle `outline.vogt.de.com/api/...`-Requests
- **NTFY Bearer Auth** (Header Auth) für die ntfy-Benachrichtigung am Ende
3. **Webhook-Pfad in n8n** mit der URL im Script abgleichen.
4. Erst mit `--vmids=<einzelne-VMID> --dry-run` testen, bevor der volle Sync scharf geschaltet wird.
## Funktionsweise (Kurzfassung)
- Script sammelt Proxmox-Daten (LXC + VM) → sendet JSON an n8n
- n8n sucht pro VMID die passende Outline-Seite (`documents.search`), lädt den aktuellen Inhalt separat nach (`documents.info`, um Suchindex-Verzögerungen zu vermeiden)
- Bei Abweichungen: gezielter Patch nur der betroffenen Felder (`documents.update`, editMode `patch`)
- Bei keinem Treffer: neue Seite wird automatisch aus den bekannten Fakten angelegt (`documents.create`), unbekannte Felder wie Zweck/Ports bleiben als Platzhalter
- Am Ende: Zusammenfassung aller Änderungen/Auffälligkeiten per ntfy
## Bewusst nicht automatisiert
- Kategorisierung, Zweck-Beschreibung, Ports/URLs in der zentralen Übersichtstabelle (nicht aus Proxmox ableitbar)
- Umbenennen/Archivieren bei VMID-Wiederverwendung (z. B. wenn eine VMID gelöscht und für einen neuen Container wiederverwendet wird) das bleibt manuelle Review-Arbeit