Commit graph

6 commits

Author SHA1 Message Date
Madhura68
cb8f48d49e feat: switch source URLs from GitHub to Forgejo
Hybride model (PBI-86 in Scrum4Me): de worker clonet en pusht naar
Forgejo (`origin`); GitHub-PR's ontstaan via een handmatige
promote-Action in Forgejo. Variabele-namen blijven `GH_TOKEN` en
`GH_PRECLONE_REPOS` (historisch); inhoud is voortaan een Forgejo-PAT.

- Dockerfile: MCP_GIT_REPO default →
  git.jp-visser.nl/janpeter/scrum4me-mcp.git
- bin/repo-bootstrap.sh: credential-helper host + clone-URL →
  git.jp-visser.nl
- bin/job-prepare.sh: cache-slug comment example bijgewerkt
- .env.example: documentatie + default `GH_PRECLONE_REPOS` naar
  janpeter/Scrum4Me + janpeter/scrum4me-mcp; instructies omgezet naar
  Forgejo-PAT-flow; `gh pr create` (auto_pr) verwijderd uit comment.
- README.md: internet-egress, token-instructies, clone-URL en
  repo-bootstrap-sectie verwijzen nu naar Forgejo. Promote-flow gelinkt.

gh CLI install blijft in Dockerfile staan (no-op zonder gh-aanroepen,
maar weinig kosten om voor ad-hoc gebruik te bewaren).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 17:59:11 +02:00
Madhura68
4b2241235e feat(deploy): bin/deploy-to-nas.sh voor één-commando redeploy
Lost terugkerende pijn op: na cross-build op Mac vergeet je makkelijk
de .env mee te nemen of vanuit de juiste directory te starten, met
"FAIL: ... is not set" als gevolg in pre-flight.

Script doet in volgorde:
1. docker buildx build --platform linux/amd64 --load
2. docker save | gzip → scrum4me-agent-runner-amd64.tar.gz
3. scp tarball + compose + (eerste keer) .env naar NAS
4. ssh: docker load + sanity-check op .env + compose up --force-recreate
5. ssh: docker compose logs -f (Ctrl-C om te stoppen)

Bestaande NAS-.env wordt niet overschreven. Eerste deploy patcht de
NAS-paden via sed. Sanity-check faalt expliciet als anthropic-,
SCRUM4ME_- of DATABASE_URL-vars ontbreken — ipv stille pre-flight-fail.

Config via .env.deploy (zit in .gitignore). Voor eerste deploy en
volledige procedure: README "Deploy — cross-build" sectie.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 01:30:22 +02:00
Madhura68
6fb439cbd6 fix(qnap): default host-port 18080 + documenteer cross-build deploy
- docker-compose.yml + package.json: AGENT_HEALTH_PORT_HOST default
  van 8080 -> 18080. QTS-webinterface bezet host-poort 8080; eerdere
  default veroorzaakte een Container-Station retry-loop die de QTS-UI
  onderuit haalde. Container-interne 8080 blijft ongewijzigd.

- README.md: drie nieuwe / uitgebreide secties op basis van een echte
  deploy-sessie op TS-664:
  * "Vereisten op de NAS" verduidelijkt dat /share/Agent een echte
    QTS Shared Folder moet zijn (geen handmatige mkdir op de
    16 MB /share-tmpfs).
  * "Deploy - cross-build vanaf Mac" beschrijft de Apple Silicon ->
    amd64 flow met buildx, docker save | gzip, scp en docker load.
  * "Veelvoorkomende issues" verzamelt de gotchas: tmpfs-share,
    docker not on PATH bij non-interactive ssh (source /etc/profile),
    yaml control-character corruption na halve scp, en .env-loss
    na rm -rf van een corrupt-tmpfs-share.
2026-05-05 19:55:22 +02:00
Scrum4Me Agent
a7933f7420 docs(ST-mmuwreer): README deploy-procedure force-recreate na compose-wijziging
Voeg subsectie toe in "Updaten" die uitlegt dat docker compose restart
niet voldoende is bij volumes/tmpfs/ports-wijzigingen — force-recreate
is verplicht. Inclusief verify-stap met df -h /var/cache.
2026-05-03 18:23:06 +02:00
c090e6c349 feat(bootstrap): GH_TOKEN-based clone of Scrum4Me + scrum4me-mcp
Fixes the 'no GitHub credentials' deadlock observed in the first
NAS-Docker batch run (2 May 2026): scrum4me-mcp's `wait_for_job`
expects a local clone at `~/Projects/<repo-name>` (convention-fallback
in resolveRepoRoot) but the container had no credentials and no clone.
Agent asked the user how to proceed; turn closed without claim.

Changes:
- `.env.example`: GH_TOKEN (fine-grained PAT, repo+PR scope) and
  GH_PRECLONE_REPOS (comma-separated owner/name list, default covers
  Scrum4Me + scrum4me-mcp).
- `bin/repo-bootstrap.sh` (new): runs as agent-user; configures git
  credential-helper with HTTPS oauth2 token, then clones-or-fetches
  each entry in GH_PRECLONE_REPOS into ~/Projects/<name>. Idempotent.
- `bin/entrypoint.sh`: hooks repo-bootstrap before run-agent.sh.
- `Dockerfile`:
  - installs `gh` CLI (used for auto_pr `gh pr create`; reads GH_TOKEN
    from env directly).
  - pre-creates `~agent/Projects` and `~agent/.scrum4me-agent-worktrees`
    so directory-ownership is right from the first boot.
- `README.md`: 'Repo bootstrap (clone-on-start)' section + GH_TOKEN
  step in the deploy checklist; corrects the obsolete 'no push
  credentials' note (agent now pushes feature-branches, gh creates PRs).

Same token covers clone, push and PR-creation — one secret to rotate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 19:48:57 +02:00
9d8a7fe237 initial: NAS agent runner setup 2026-05-02 15:43:59 +02:00