Files
jhonny-editor/rag/SETUP.md
T
João Henrique b541f502ba feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto
- Configurado MCP server para Premiere Pro
- Adicionado documentação e skills
- Configurado Gitignore para o projeto
2026-09-08 09:59:31 -04:00

83 lines
2.7 KiB
Markdown

# Setup do banco RAG — Doza
Pré-requisito: o container compartilhado `rag-hub-db` já precisa estar
rodando na VPS (`/docker/rag-hub/`, ver `admin/VPS-ACCESS.md`). Se ele ainda
não existe, esse é um passo único para toda a infra, não deste projeto —
consulte quem já configurou antes de recriar.
## 1. Abrir túnel SSH até o Postgres
O banco não tem porta pública. Toda conexão (local ou de outro projeto)
passa por túnel SSH:
```bash
ssh -N -L 55435:127.0.0.1:55435 root@179.197.228.240
```
Mantenha esse comando rodando em um terminal enquanto for usar o banco.
As credenciais SSH (host, chave) estão em `admin/VPS-ACCESS.md`.
## 2. Criar o banco deste projeto (só na primeira vez)
Conectado via túnel, como usuário admin do `rag-hub-db` (`rag_admin`,
senha em `admin/VPS-ACCESS.md` na VPS):
```bash
psql -h 127.0.0.1 -p 55435 -U rag_admin -d postgres \
-c "CREATE DATABASE rag_doza OWNER rag_admin;"
```
> Se já existe (caso comum — este projeto já tem o banco criado), pule
> este passo.
## 3. Aplicar o schema
```bash
psql -h 127.0.0.1 -p 55435 -U rag_admin -d rag_doza -f rag/schema.sql
```
`schema.sql` é idempotente (`CREATE EXTENSION IF NOT EXISTS`,
`CREATE TABLE IF NOT EXISTS`) — rodar de novo não duplica nem apaga dados.
## 4. Conferir
```bash
psql -h 127.0.0.1 -p 55435 -U rag_admin -d rag_doza -c '\dx' -c '\dt doza.*'
```
Deve listar as extensões `vector` e `pg_trgm`, e a tabela `doza.code_chunks`.
## 5. Configurar o código do projeto
Copiar `.env.example` para `.env` (fora do git) e preencher com os valores
reais do túnel/credenciais — ver `admin/VPS-ACCESS.md`.
## Evoluir o schema (banco que já existe)
Não edite `schema.sql`/`schema-tigre.sql` esperando que sejam reaplicados —
eles descrevem o estado final, para bancos novos. Num banco existente, crie
uma migration numerada em `migrations/` e aplique:
```bash
rag/migrate_tigre.sh # a mais recente
rag/migrate_tigre.sh rag/migrations/003-outra.sql # uma específica
```
O script resolve a senha do `rag_admin` dentro da VPS — ela não passa pelo
shell local. Depois de qualquer migration que mexa em como o embedding é
gerado, reindexe com `rag/index_tigre.sh --full`, senão vetores de regimes
diferentes convivem no mesmo índice.
## Resetar do zero (se precisar)
```bash
psql -h 127.0.0.1 -p 55435 -U rag_admin -d postgres \
-c "DROP DATABASE rag_doza;" \
-c "CREATE DATABASE rag_doza OWNER rag_admin;"
psql -h 127.0.0.1 -p 55435 -U rag_admin -d rag_doza -f rag/schema.sql
```
⚠️ Isso apaga todo o índice/embeddings já gerados deste projeto — só é RAG
de apoio ao desenvolvimento, então é seguro recriar e reindexar do zero
quando fizer sentido (ex: mudança grande na estrutura do repo).