- api/Dockerfile: node:22-alpine, builds better-sqlite3 from source for musl (prebuilds are glibc), runs tsx; healthcheck on /healthz - .dockerignore: stops host node_modules (wrong-platform native binaries) from shadowing the in-container build — the root cause of an ERR_DLOPEN 'Exec format error' found while validating the image - docker-compose.yml: apess-api service on clawbooks-net + apess-data volume, ADMIN_CODE/JUDGE_CODE/CORS_ORIGIN env - traefik/apess-api.yml: file-provider router for api.apess.redclaw.dev (reuses the *.redclaw.dev cert; WS proxied automatically) - deploy/README: API prerequisites (.env codes, DNS, router), deploy/verify (REST + WS smoke tests), rollback notes; .env gitignored Validated by building + running the image: /healthz=ok, PUT/GET /teams with auth (401 without code), WS snapshot on connect, WS 4401 on bad code. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
9 lines
217 B
Plaintext
9 lines
217 B
Plaintext
# Never copy host-built artifacts into images — they may be the wrong platform
|
|
# (e.g. a darwin better-sqlite3 binary) and would shadow the in-container build.
|
|
**/node_modules
|
|
**/dist
|
|
.git
|
|
**/*.log
|
|
deploy/.env
|
|
.env
|