feat: Gitea Webhook, IMAP, Settings & Deployment docs
- Webhook route and Gitea integration - IMAP service and Nextcloud/Porkbun setup docs - Settings UI improvements and API updates - SSH/Webhook fix prompt for emailsorter.webklar.com - Bootstrap, config and AI sorter updates
This commit is contained in:
@@ -146,7 +146,19 @@ tail -f server/logs/webhook.log
|
||||
- ✅ Prüfe, ob der Server erreichbar ist (`curl https://emailsorter.webklar.com/api/webhook/status`)
|
||||
- ✅ Prüfe Gitea-Logs: **Settings** → **Webhooks** → **Delivery Log**
|
||||
|
||||
### "Ungültige Webhook-Signatur" (401)
|
||||
### 502 Bad Gateway (von nginx)
|
||||
|
||||
Nginx meldet 502, wenn das Backend (Node/PM2) nicht antwortet oder abstürzt.
|
||||
|
||||
- ✅ **Backend läuft:** `pm2 list` – Prozess muss „online“ sein
|
||||
- ✅ **Backend neu starten:** `pm2 restart all` oder `pm2 start ecosystem.config.js`
|
||||
- ✅ **Logs prüfen:** `pm2 logs` – beim nächsten „Test Push“ sofort Fehler ansehen
|
||||
- ✅ **Health prüfen:** `curl -s -o /dev/null -w "%{http_code}" https://emailsorter.webklar.com/api/health` → sollte `200` sein
|
||||
- ✅ **Nginx-Upstream:** `proxy_pass` muss auf den richtigen Port zeigen (z. B. `http://127.0.0.1:3000`)
|
||||
|
||||
Nach einem Code-Deploy (größeres Body-Limit, robustere Fehlerbehandlung) Backend neu starten: `pm2 restart all`.
|
||||
|
||||
### "Ungültige Webhook-Signatur" (401/403)
|
||||
|
||||
- ✅ Prüfe, ob `GITEA_WEBHOOK_SECRET` in `server/.env` gesetzt ist
|
||||
- ✅ Prüfe, ob das Secret in Gitea **genau gleich** ist (keine Leerzeichen!)
|
||||
|
||||
41
docs/deployment/SSH-WEBHOOK-FIX-PROMPT.md
Normal file
41
docs/deployment/SSH-WEBHOOK-FIX-PROMPT.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Anleitung für SSH – nur EmailSorter (emailsorter.webklar.com) fixen
|
||||
|
||||
**Kopiere den folgenden Abschnitt und schick ihn an die Person am Server (oder nutze ihn als eigene Checkliste):**
|
||||
|
||||
---
|
||||
|
||||
## Kontext
|
||||
|
||||
- **Nur diese Website:** **emailsorter.webklar.com** (EmailSorter / Gitea-Webhook).
|
||||
- **Nicht anfassen:** Alle anderen Websites/Projekte auf dem gleichen Server.
|
||||
- **Problem:** Beim Gitea-Webhook („Test Push Event“) kommt **502 Bad Gateway** von nginx. Das Backend (Node/PM2) für emailsorter.webklar.com soll geprüft und ggf. neu gestartet werden.
|
||||
|
||||
## Was ich brauche
|
||||
|
||||
1. **PM2 prüfen (nur für EmailSorter):**
|
||||
- `pm2 list` ausführen.
|
||||
- Den Prozess finden, der zu **emailsorter.webklar.com** / EmailSorter gehört (Name oder Script-Pfad wie `server/index.mjs` oder `emailsorter`).
|
||||
- Prüfen: Läuft er (Status „online“)? Wenn „stopped“ oder „errored“: das ist wahrscheinlich die Ursache für den 502.
|
||||
|
||||
2. **Backend für EmailSorter neu starten:**
|
||||
- Nur den PM2-Prozess für EmailSorter neu starten (nicht `pm2 restart all`, wenn andere Sites davon betroffen wären).
|
||||
- Beispiel, wenn der Prozess „emailsorter“ heißt: `pm2 restart emailsorter`
|
||||
- Oder nur den einen Eintrag in der Liste per Name/ID neu starten.
|
||||
|
||||
3. **Env für EmailSorter prüfen (optional, nur wenn Webhook weiter 502/401 gibt):**
|
||||
- In das Projektverzeichnis von EmailSorter wechseln (z. B. `/var/www/emailsorter` oder wo auch immer es liegt).
|
||||
- Prüfen, ob in `server/.env` (oder im Root-`.env`) steht:
|
||||
`GITEA_WEBHOOK_SECRET=<dein Webhook-Secret>`
|
||||
- Wenn nicht: diese Zeile in der richtigen `.env` ergänzen (Secret bekommst du separat / steht in Gitea unter Webhook → Secret). Danach nur den EmailSorter-PM2-Prozess neu starten.
|
||||
|
||||
4. **Kurz testen:**
|
||||
- `curl -s -o /dev/null -w "%{http_code}" https://emailsorter.webklar.com/api/health`
|
||||
Sollte `200` ausgeben.
|
||||
- `curl -s -o /dev/null -w "%{http_code}" https://emailsorter.webklar.com/api/webhook/status`
|
||||
Sollte ebenfalls `200` ausgeben.
|
||||
|
||||
5. **Nichts anderes ändern:** Keine anderen Projekte, keine globalen nginx-/System-Konfigurationen anpassen – nur EmailSorter (emailsorter.webklar.com) wie oben beschrieben.
|
||||
|
||||
---
|
||||
|
||||
**Wenn du den Code gerade neu deployed hast (git pull für EmailSorter):** Danach bitte nur den PM2-Prozess für EmailSorter neu starten (z. B. `pm2 restart <name-oder-id>`), damit die neuen Webhook-Fixes aktiv sind.
|
||||
@@ -27,8 +27,9 @@ USE_PM2=true
|
||||
1. Gehe zu deinem Repository → **Settings** → **Webhooks**
|
||||
2. Klicke **Add Webhook** → **Gitea**
|
||||
3. Fülle aus:
|
||||
- **Target URL:** `https://emailsorter.webklar.com/api/webhook/gitea`
|
||||
- **Target URL:** `https://emailsorter.webklar.com/api/webhook/gitea` (Produktion)
|
||||
- **Secret:** `dein_generiertes_secret_hier` (aus Schritt 1)
|
||||
- **Authorization Header (optional):** `Bearer dein_generiertes_secret_hier` (gleicher Wert wie Secret)
|
||||
- **Trigger On:** ✅ **Push Events**
|
||||
- **Branch Filter:** `main` oder `master`
|
||||
4. Klicke **Add Webhook**
|
||||
|
||||
Reference in New Issue
Block a user