From 810799a335b821f5208f484fc5eba374b8b96dbd Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Sat, 27 Jun 2026 18:21:11 +0200 Subject: [PATCH] =?UTF-8?q?docs(newwhats):=20banco=20dev=20isolado=20(neww?= =?UTF-8?q?hats=5Fdev=20no=20pgdev)=20=E2=80=94=20reverte=20compartilhamen?= =?UTF-8?q?to=20com=20VPS3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit O dev passou a usar newwhats_dev no pgdev (VPS4), clone dos dados reais via pg_dump/restore, na rede soc. Reverte o uso do banco real newwhats@VPS3 (compartilhado), que arriscava corromper dados (cascade em chats/messages). Atualiza secao de conexoes e remove a nota de "nao rodar db push". Co-Authored-By: Claude Opus 4.8 --- projetos/newwhats.clube67.com/ambiente-dev.md | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/projetos/newwhats.clube67.com/ambiente-dev.md b/projetos/newwhats.clube67.com/ambiente-dev.md index c571094..8ff882b 100644 --- a/projetos/newwhats.clube67.com/ambiente-dev.md +++ b/projetos/newwhats.clube67.com/ambiente-dev.md @@ -5,16 +5,17 @@ ## O que torna este projeto diferente do universal -O `infra/ambiente-dev.md` universal assume: dev servido por **imagem vite buildada** (nginx sobre `vite build`) -e **banco DEV isolado no `pgdev` (VPS4)**, banco `_dev`. O newwhats **diverge em dois pontos**: +O `infra/ambiente-dev.md` universal assume: dev servido por **imagem vite buildada** (nginx sobre `vite build`). +O newwhats **diverge** num ponto (o banco segue o universal — `pgdev` isolado): 1. **Não é vite, é Next.js, e o front é container próprio.** O backend Express (`dist/server.js`) serve **só** `/api`, `/socket.io` e `/media` — **não** serve o frontend. O front é um container Next (`next start -p 3003`) separado. Por isso o dev tem **3 containers** (não um): backend + frontend + nginx de roteamento. -2. **Banco DEV não é o `pgdev` local — é o banco `newwhats` na VPS3** (decisão do administrador: dev com - **dados reais**, compartilhado). ⚠️ Isso **abre mão do isolamento** que o universal garante: o dev - **grava nos dados reais** (~89k messages, ~10k contacts). Cache isolado via **Dragonfly DB index `/1`**. + +> **Histórico:** por um período o dev apontou para o banco real `newwhats` na VPS3 (compartilhado). Isso foi +> revertido em 27/jun/2026 — testes podiam corromper dados reais (delete de instância faz cascade em +> chats/messages). Agora o banco é **isolado** (`newwhats_dev` no `pgdev`), como manda o universal. ## Onde roda / estrutura @@ -47,14 +48,15 @@ DOCKER_HOST=unix:///run/user/1000/docker.sock docker compose -f docker-compose.d - **`NEXT_PUBLIC_API_URL` = raiz** (`https://dev.newwhats.clube67.com`), **sem `/api`** — o código já prefixa `/api` nas chamadas REST; o Socket.IO usa `new URL(url).origin`. -- **Não rodar `prisma db push`** contra o banco `newwhats`: o schema já está alinhado com o código; o `db push` - só **dropa** tabelas extras de plugins (`sec_*` da *secretaria*, `janitor_logs`, `nanobana_usage`) — perda de dados. -## Conexões (VPS3, 10.99.0.3) — credenciais no `docker-compose.dev.yml` +## Conexões — credenciais no `docker-compose.dev.yml` -- **Banco:** `postgresql://newwhats:@10.99.0.3:5432/newwhats` (role `newwhats`; o role `clube67` **não** - tem permissão nesse banco). -- **Cache:** `redis://:@10.99.0.3:6379/1` (Dragonfly, DB index `/1` para não colidir com a prod). +- **Banco (isolado):** `postgresql://devadmin:@pgdev:5432/newwhats_dev` — banco `newwhats_dev` no + container **`pgdev`** (VPS4, rede docker **`soc`**; o backend-dev precisa estar na rede `soc` para resolver + o DNS `pgdev`). É um **clone** dos dados reais (~92k messages, ~10k contacts), feito com + `pg_dump` do `newwhats` (VPS3) → `pg_restore --no-owner --no-privileges` no `pgdev`. + Para repuxar/zerar, ver scripts em `/home/deploy/stack/pg-dev/` (padrão `_dev`/`_ref` do universal). +- **Cache:** `redis://:@10.99.0.3:6379/1` (Dragonfly VPS3, DB index `/1` — isolado da prod por index). ## Atenção — divergência código × PROD