@@ -22,7 +22,7 @@ mappa (#985). Н е делать чужую часть.
- **Образ:** `registry.kzntsv.site/mappa:0.1.0` . Dockerfile в корне репо (multi-stage node:22-alpine;
- **Образ:** `registry.kzntsv.site/mappa:0.1.0` . Dockerfile в корне репо (multi-stage node:22-alpine;
**обязательный COPY `src/lib/schema.sql` → `dist/src/lib/schema.sql` ** — tsc не копирует .sql,
**обязательный COPY `src/lib/schema.sql` → `dist/src/lib/schema.sql` ** — tsc не копирует .sql,
без него migrate() падает «schema.sql not found»).
без него migrate() падает «schema.sql not found»).
- **Стек Portainer:** `mappa` (Id 26 , endpoint 1). Source-of-truth compose:
- **Стек Portainer:** `mappa` (Id 27 , endpoint 1). Source-of-truth compose:
`admin/host-stacks/vds-kzntsv/mappa.compose.yml` .
`admin/host-stacks/vds-kzntsv/mappa.compose.yml` .
- **БД:** база `mappa` + role `mappa` на общем `postgres:16` VDS (owner = mappa).
- **БД:** база `mappa` + role `mappa` на общем `postgres:16` VDS (owner = mappa).
Креды: * * `pass show mappa/full-env` ** (`MAPPA_DB_PASS` , `DATABASE_URL` docker-сетевой:
Креды: * * `pass show mappa/full-env` ** (`MAPPA_DB_PASS` , `DATABASE_URL` docker-сетевой:
@@ -45,7 +45,7 @@ ssh vds.kzntsv.site 'docker pull registry.kzntsv.site/mappa:<tag>'
# 4. Restart стека через Portainer API (Н Е ad-hoc docker compose up!)
# 4. Restart стека через Portainer API (Н Е ad-hoc docker compose up!)
# JWT: pass vds-kzntsv/full-env PORTAINER_ADMIN_PASS → POST /api/auth
# JWT: pass vds-kzntsv/full-env PORTAINER_ADMIN_PASS → POST /api/auth
curl -ksS -X POST "https://portainer.vds.kzntsv.site/api/stacks/26 /restart?endpointId=1" \
curl -ksS -X POST "https://portainer.vds.kzntsv.site/api/stacks/27 /restart?endpointId=1" \
-H " Authorization: Bearer $JWT "
-H " Authorization: Bearer $JWT "
# 5. Verify
# 5. Verify