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
|
## 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).
|
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. Folgende Credentials werden benötigt (nicht im Export enthalten, aus Sicherheitsgründen):
|
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
|
- **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
|
- **NTFY Bearer Auth** (Header Auth) – für die ntfy-Benachrichtigung am Ende
|
||||||
3. **Webhook-Pfad in n8n** mit der URL im Script abgleichen.
|
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.
|
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)
|
## Funktionsweise (Kurzfassung)
|
||||||
|
|
||||||
- Script sammelt Proxmox-Daten (LXC + VM) → sendet JSON an n8n
|
- Script sammelt Proxmox-Daten (LXC + VM) → sendet JSON an n8n
|
||||||
|
|||||||
Reference in New Issue
Block a user