Commit graph

4 commits

Author SHA1 Message Date
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
Janpeter Visser
544399b82b fix: cross-host compat — idempotent groupadd, quoted env value, ignore tarballs
Drie kleine fixes zodat de container ook op niet-NAS hosts (Mac M2,
Windows i7) zonder gedoe gebouwd kan worden.

- Dockerfile: vervang `groupadd -g ${AGENT_GID}` door een idempotent
  blok dat een bestaande UID/GID hernoemt. Op macOS conflicteert GID 20
  (staff) met dialout in Ubuntu base — `groupadd: GID '20' already exists`.
- .env.example: quote `GIT_AUTHOR_NAME` waarde. QNAP Container Station's
  env-parser is strict en weigert `KEY=value with space` zonder quotes.
- .gitignore: voeg `*.tar`/`*.tar.gz` toe — de output van `docker save`
  die voor NAS-import naar de share wordt gekopieerd hoort niet in git.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 20:28:16 +02:00
47b1de93db fix: lokale Docker build werkend krijgen
Drie fixes om de container lokaal (en op de NAS) te kunnen builden en draaien:

- Dockerfile: clone scrum4me-mcp zonder --recurse-submodules. De Prisma-
  schema zit al gecommit in het scrum4me-mcp repo; de vendor/scrum4me
  submodule is alleen nodig voor schema-updates en wijst naar een
  privaat repo dat tijdens docker build niet bereikbaar is.

- Dockerfile: voeg /usr/sbin en /sbin toe aan PATH zodat gosu (in
  /usr/sbin/gosu na apt-install) gevonden wordt door entrypoint.sh.
  Zonder dit faalt de container in een restart loop.

- Verplaats alle runner scripts naar bin/ en maak etc/ aan, zodat
  COPY bin/ en COPY etc/ in de Dockerfile bestanden vinden.

Verder:
- .gitattributes om CRLF-corruptie van shell scripts op Windows te
  voorkomen (core.autocrlf=true is default actief).
- .gitignore: docker-compose.override.yml uitsluiten zodat lokale
  dev-overrides niet worden gecommit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-02 19:18:35 +02:00
9d8a7fe237 initial: NAS agent runner setup 2026-05-02 15:43:59 +02:00