monitor/.env.example
fds2610-bot 9c87840253 Update-Fallback: Deploy-Check, wenn die Zahl offener PRs sinkt
Der sync-Container legt api/data/deploy-requested an, sobald die Zahl offener
PRs sinkt. deploy-webhook.py prueft dann per git fetch, ob origin/main vor dem
lokalen Stand liegt, und startet nur dann update.sh. Fallback fuer einen
verpassten Push-Webhook ohne zusaetzliche Codeberg-Verbindung.

Ausloeser waehrend eines laufenden Updates werden nicht mehr verworfen,
sondern loesen einen Folgelauf aus.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 08:27:39 +02:00

60 lines
3.7 KiB
Text

# Kopieren nach .env und Werte anpassen. Wird von docker-compose.yml gelesen.
# Administrator-Key zur Registrierung neuer Agenten (POST /api/v1/agents, Header X-Admin-Key)
MONITOR_ADMIN_API_KEY=change-me
# Basis-URL, unter der das Frontend (Browser!) die REST-API erreicht. Der Default passt zum
# Port-Mapping des api-Service in docker-compose.yml (8091). Wer die Ports dort aendert oder
# das System hinter einem Reverse Proxy betreibt, muss diesen Wert entsprechend nachziehen -
# z.B. https://monitor.example.org:4444/api/v1.
# Leer lassen, wenn Frontend und API unter demselben Origin ausgeliefert werden (dann wird
# die relative URL /api/v1 verwendet).
MONITOR_API_BASE=http://localhost:8091/api/v1
# Codeberg-Projekte, aus denen Backlog/Done per Sync-Skript befuellt werden, sind seit
# Issue #27 keine Umgebungsvariable mehr, sondern ueber ein Modal im Frontend (Klick auf den
# PO) konfigurierbar - Default beim ersten Start sind fds2610/monitor (gelb),
# fds2610/Steuerkram (gruen) und fds2610/nc-gantt (blau), siehe
# api/src/Db/migrations/003_repo_configs.sql. Aendern erfordert MONITOR_ADMIN_API_KEY (siehe
# oben), das Modal fragt den Key bei der ersten Aenderung einmalig ab.
# Optional: Token mit Lesezugriff, falls Rate-Limits ohne Token zu knapp sind - bei kleinem
# MONITOR_SYNC_INTERVAL (haeufigem Sync) empfehlenswert. Fuer die Konfig-Pruefung im
# Projekte-Modal (Issue #53: "POST /api/v1/repo-configs/{id}/check") braucht der Account
# zusaetzlich Schreib- bzw. Admin-Rechte auf die jeweiligen Projekte, sonst schlagen die
# Checks fuer Schreibrechte bzw. Webhook dort fehl.
CODEBERG_TOKEN=
# Abstand zwischen zwei periodischen Codeberg-Sync-Laeufen in Sekunden (Service "sync" in
# docker-compose.yml). Der erste Lauf passiert direkt beim Start des Services.
# Mit eingerichtetem Webhook (siehe unten) ist das nur noch das Sicherheitsnetz fuer
# verpasste Zustellungen und darf gross bleiben - Issue-Aenderungen landen dann in Sekunden
# auf dem Board, nicht erst beim naechsten Lauf.
# Speist ausserdem den rein kosmetischen Reload-Countdown im Header der Buero-Visualisierung
# (Service "web", siehe docker/nginx/default.conf.template) - der Countdown zaehlt nur mit,
# er loest selbst keinen echten Reload/Sync aus.
MONITOR_SYNC_INTERVAL=600
# Secret des Codeberg-Webhooks (Repo -> Einstellungen -> Webhooks -> Forgejo, Ziel-URL
# <oeffentliche-api-url>/api/v1/webhooks/codeberg, Events "Issues" und "Issue-Label").
# Codeberg signiert damit jeden Payload; ohne gesetztes Secret weist die API den Endpunkt
# grundsaetzlich mit 401 ab. Erzeugen z.B. mit: openssl rand -hex 32
# Der Endpunkt ist der einzige, den Codeberg von aussen erreichen muss - Proxy und Firewall
# muessen POST /api/v1/webhooks/codeberg also aus dem Internet durchlassen.
CODEBERG_WEBHOOK_SECRET=
# Auto-Update auf einem Produktionsserver (siehe README_UPDATE.md): deploy-webhook.py laeuft
# dort auf dem Host (nicht im Compose-Stack) und stoesst bei einem Push auf
# MONITOR_DEPLOY_WEBHOOK_BRANCH (z.B. nach einem manuell gemergten PR) update.sh an. Fuer die
# lokale Entwicklungsumgebung hier ohne Bedeutung.
# Secret des Deploy-Webhooks (Repo -> Einstellungen -> Webhooks -> Forgejo, Ziel-URL
# <deploy-webhook-url>, Event "Push"). Ohne gesetztes Secret weist deploy-webhook.py jede
# Anfrage mit 401 ab. Erzeugen z.B. mit: openssl rand -hex 32
MONITOR_DEPLOY_WEBHOOK_SECRET=
# Port, auf dem deploy-webhook.py lauscht.
MONITOR_DEPLOY_WEBHOOK_PORT=9099
# Branch, dessen Push ein Update ausloest.
MONITOR_DEPLOY_WEBHOOK_BRANCH=main
# Optional: Signaldatei des sync-Containers (Fallback bei verpasstem Push-Webhook, siehe
# README_UPDATE.md). Default: api/data/deploy-requested neben deploy-webhook.py.
# MONITOR_DEPLOY_TRIGGER_FILE=