Feature 2: Commit-Feed — Gitea-Webhook, Discord-Embeds, SQLite-Archiv

- Fastify-Webserver mit /health und /webhooks/gitea (HMAC-SHA256-Signaturprüfung, timing-safe)
- Push-Commits werden in SQLite gespeichert (Dedupe per SHA) und als Embed gepostet
- Dockerfile auf node:22-slim (glibc-Prebuilds für better-sqlite3), Port 3080 published
- README: Anleitung für Cloudflare-DNS, Nginx Proxy Manager (bot.d4rkst3r.de) und Gitea-Webhook

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 23:27:33 +02:00
co-authored by Claude Opus 4.8
parent 2b3fa3eb69
commit 46d6a3f927
11 changed files with 1357 additions and 17 deletions
+16
View File
@@ -9,3 +9,19 @@ DISCORD_CLIENT_ID=
# Rechtsklick auf deinen Discord-Server → "Server-ID kopieren" (Entwicklermodus nötig)
# Optional: wenn gesetzt, sind Slash-Commands sofort verfügbar statt nach bis zu 1h
DISCORD_GUILD_ID=
# --- Commit-Feed (Feature 2) ---
# Rechtsklick auf den Commit-Kanal → "Kanal-ID kopieren"
COMMIT_CHANNEL_ID=
# Shared Secret für die Webhook-Signatur — generieren mit:
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# Denselben Wert im Gitea-Webhook als "Secret" eintragen!
GITEA_WEBHOOK_SECRET=
# Optional: HTTP-Port des Webservers (Default: 3080)
# HTTP_PORT=3080
# Optional: Pfad zur SQLite-Datei (Default: ./data/ecobot.db)
# DB_PATH=./data/ecobot.db