# 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 Reload-Countdown im Header der Buero-Visualisierung (Service "web", # siehe docker/nginx/default.conf.template) - erreicht der Countdown 0, laedt der Browser die # Seite tatsaechlich neu (Issue #108), damit ein dauerhaft offener Wand-Tab laengstens nach # einem Intervall den aktuell deployten Frontend-Stand bekommt. Auf den periodischen # Codeberg-Sync hat das keinen Einfluss, dafuer ist weiterhin allein das Backend zustaendig. MONITOR_SYNC_INTERVAL=600 # Secret des Codeberg-Webhooks (Repo -> Einstellungen -> Webhooks -> Forgejo, Ziel-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 # , 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=