docs: add cron setup instructions to README
This commit is contained in:
@@ -10,13 +10,43 @@ Automatischer Abgleich zwischen Proxmox-Inventar und der Homelab-Dokumentation i
|
||||
|
||||
## 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):
|
||||
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). Wichtig: **Produktions-Pfad** (`/webhook/...`) verwenden, nicht `/webhook-test/...` – der Test-Pfad funktioniert nur, während der Workflow im n8n-Editor auf "Listen for test event" steht.
|
||||
2. **n8n-Workflow importieren:** JSON-Datei in n8n importieren und **aktivieren/publishen** (der Webhook reagiert sonst nicht auf den Produktions-Pfad). 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.
|
||||
|
||||
## Automatischer Betrieb per Cron
|
||||
|
||||
Auf dem Proxmox-Host `crontab -e` und folgende Zeile eintragen, um das Script stündlich zwischen 07:00 und 20:00 Uhr laufen zu lassen:
|
||||
|
||||
```cron
|
||||
0 7-20 * * * /root/proxmox-inventory-json.sh >> /var/log/proxmox-inventory-sync.log 2>&1
|
||||
```
|
||||
|
||||
- `7-20` = jede volle Stunde von 7 bis 20 Uhr (14 Läufe/Tag)
|
||||
- Ausgabe (inkl. Fehler) landet in `/var/log/proxmox-inventory-sync.log`
|
||||
|
||||
Optionale Logrotate-Regel, damit das Log nicht unbegrenzt wächst:
|
||||
|
||||
```bash
|
||||
cat > /etc/logrotate.d/proxmox-inventory-sync << 'EOF'
|
||||
/var/log/proxmox-inventory-sync.log {
|
||||
weekly
|
||||
rotate 4
|
||||
compress
|
||||
missingok
|
||||
notifempty
|
||||
}
|
||||
EOF
|
||||
```
|
||||
|
||||
**Vor dem Scharfschalten prüfen:**
|
||||
- Läuft das Script lokal auf dem Host mit der echten (nicht der Platzhalter-)Webhook-URL?
|
||||
- Ist der n8n-Workflow aktiviert (`active: true`)?
|
||||
- Ein manueller Testlauf (`./proxmox-inventory-json.sh --dry-run`) zeigt das gebaute JSON ohne etwas zu senden – guter erster Check nach jeder Änderung.
|
||||
|
||||
## Funktionsweise (Kurzfassung)
|
||||
|
||||
- Script sammelt Proxmox-Daten (LXC + VM) → sendet JSON an n8n
|
||||
|
||||
Reference in New Issue
Block a user