# ============================================================ # scrum4me-agent-runner — environment configuratie # ============================================================ # Kopieer naar .env en vul in. Houd .env buiten git (zie .gitignore). # Permissies: chmod 600 .env # ----- Claude Code authenticatie ---------------------------- # Genereer op je werkstation met: `claude setup-token` # Output is een sk-ant-oat01-... token; geldig 1 jaar; gebruikt # je Pro/Max subscription quota in plaats van per-token billing. # # Alternatief: ANTHROPIC_API_KEY (sk-ant-api03-...) voor pay-per-use # via console.anthropic.com. Niet beide tegelijk zetten. CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-vervang-mij # ANTHROPIC_API_KEY= # ----- Scrum4Me API token ----------------------------------- # Bearer-token van de DEDICATED agent-user (niet je persoonlijke # account). Aanmaken: log in als de agent-user → /settings/tokens # → label "NAS-runner". Token wordt eenmalig getoond. # # Als deze ge-revoked wordt: rebuild + redeploy (zie README). SCRUM4ME_TOKEN=vervang-mij # ----- Forgejo credentials (PBI-86 hybride model) ----------- # Personal Access Token van je Forgejo-account met scope read+write # op de Scrum4Me-repos. Variabele heet historisch nog `GH_TOKEN`; # in het hybride model bevat 'ie een Forgejo-PAT. # # Gebruikt voor: # 1. Pre-clone van de repos in /home/agent/Projects// bij # container-start (entrypoint.sh) # 2. `git push` van agent feature-branches naar Forgejo via HTTPS # # `gh pr create` is uit de worker-flow verwijderd (PBI-86, T-1005); # de GitHub-PR ontstaat via de handmatig getriggerde promote-Action # in Forgejo. # # Genereer in Forgejo: avatar → Settings → Applications → # Generate New Token; scope minimaal `write:repository`. GH_TOKEN=vervang-mij # Lijst (komma-gescheiden) van repos om vooraf te clonen naar # ~agent/Projects/. resolveRepoRoot in scrum4me-mcp valt # automatisch terug op die conventie. `/` zoals 'ie op # Forgejo staat. Voeg meer toe als je nieuwe producten/repos toevoegt. GH_PRECLONE_REPOS=janpeter/Scrum4Me,janpeter/scrum4me-mcp # ----- Git commit-author ------------------------------------- # Verplicht — Vercel weigert deploys waarvan de commit-author email # niet aan een GitHub-account hangt ("commit author email is not # valid"). Gebruik de noreply-vorm voor maximale privacy: # # github.com → Settings → Emails → "Keep my email private" # formaat: +@users.noreply.github.com # # Voorbeeld voor madhura68: # GIT_AUTHOR_EMAIL=12345678+madhura68@users.noreply.github.com GIT_AUTHOR_NAME="Scrum4Me Agent" GIT_AUTHOR_EMAIL=vervang-mij@users.noreply.github.com # ----- Scrum4Me database ------------------------------------ # Beide URLs uit het Neon-dashboard. DATABASE_URL is pooled, # DIRECT_URL is unpooled — scrum4me-mcp gebruikt DATABASE_URL # voor reads/writes; DIRECT_URL is alleen nodig als je de mcp # uitbreidt met LISTEN/NOTIFY (op dit moment niet). DATABASE_URL=postgresql://user:pass@host/dbname?sslmode=require DIRECT_URL=postgresql://user:pass@host/dbname?sslmode=require # ----- Scrum4Me API host ------------------------------------ # Voor token-validatie via /api/health en /api/products # voorafgaand aan het starten van de daemon-loop. Gebruik je # productie-URL. SCRUM4ME_BASE_URL=https://scrum4me.example.com # ----- Scrum4Me MCP versie ---------------------------------- # Pin een specifieke commit-sha of tag van scrum4me-mcp. # `main` werkt voor ontwikkeling; in productie altijd vastpinnen. MCP_GIT_REF=main # Idem voor Claude Code zelf. `latest` of een specifieke versie. CLAUDE_CODE_VERSION=latest # ----- NAS paths -------------------------------------------- # Basis-share waaronder cache/, logs/ en state/ vallen. # Pas aan als je een andere share-naam gebruikt op QNAP. NAS_BASE=/share/Agent # UID/GID matchen met de share-eigenaar op QNAP (admin = 1000 # bij standaard QTS-installatie). AGENT_UID=1000 AGENT_GID=1000 # ----- Health endpoint -------------------------------------- # Externe poort op de NAS waarop /health bereikbaar is. # Wijzig als 8080 al in gebruik is door iets anders op QTS. AGENT_HEALTH_PORT_HOST=8080 # ----- Daemon-loop tuning ----------------------------------- # Maximum opeenvolgende mislukte batches voordat de container # zichzelf "unhealthy" markeert. AGENT_MAX_FAILURES=5 # Backoff in seconden: start, factor, max AGENT_BACKOFF_START=5 AGENT_BACKOFF_FACTOR=2 AGENT_BACKOFF_MAX=300 # Hoeveel uur logs bewaren voor we comprimeren (gzip). AGENT_LOG_GZIP_AFTER_HOURS=24 # Hoeveel dagen ge-gzipte logs bewaren voor we ze verwijderen. AGENT_LOG_DELETE_AFTER_DAYS=30