docs: add runbook steps forbetter-sqlite3 rebuild + login

This commit is contained in:
Esdras Renan 2025-11-19 21:44:55 -03:00
parent 43548ab4b8
commit a1436ea729

View file

@ -153,6 +153,20 @@ Depois disso, o job “Deploy Convex functions” funciona em modo não interati
- Certifiquese de que `/srv/apps/sistema/convex.json` existe (rodar wizard `npx convex dev --once --configure=new`).
- Não usar `CONVEX_DEPLOYMENT` com `CONVEX_SELF_HOSTED_URL` + `CONVEX_SELF_HOSTED_ADMIN_KEY`.
- Login quebrando com erro de `better_sqlite3` (NODE_MODULE_VERSION)
- Sintoma: HTTP 500 em `/api/auth/sign-in/email` e logs do `sistema_web` com “Could not locate the bindings file” ou “compiled against NODE_MODULE_VERSION 115”.
- Causa: o `better-sqlite3` precisa ser recompilado para a versão de Node em uso (rodamos Node 22 dentro do container).
- Correção (uma vez, após trocar versão de Node/Bun ou limpar `node_modules`):
```
docker run --rm -v /apps/sistema:/app sistema_web:node22-bun \
bash -lc "cd /app && npm rebuild better-sqlite3"
docker service update --force sistema_web
```
Isso grava o binário em `/apps/sistema/node_modules/.bun/better-sqlite3@11.10.0/...` (path montado pelo serviço).
- Flags no serviço (stack.yml):
- `SKIP_APT_BOOTSTRAP=true` evita apt-get no boot (imagem já tem toolchain).
- `SKIP_SQLITE_REBUILD=true` deixa o boot rápido; deixe como `true` depois de recompilar manualmente como acima.
- “Schema validation failed” (campo extra `provisioningCode`)
- Atualize o schema do Convex no servidor para incluir `provisioningCode?: string` em `companies`.
- Refaça o deploy.