- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
127 lines
5.8 KiB
Markdown
127 lines
5.8 KiB
Markdown
# Acesso à VPS — Doza
|
|
|
|
> Mesma VPS usada pelo projeto CRM (`/Volumes/Merongo/SISTEMAS/GENIAL SISTEMAS/CRM/admin/VPS-ACCESS.md`).
|
|
> Copiado de lá em 2026-08-31 para uso no projeto Doza.
|
|
|
|
> ⚠️ **Nunca coloque a senha em texto puro em chat, commit ou qualquer lugar além deste arquivo.**
|
|
> A autenticação por chave SSH já está configurada — não é preciso senha no uso normal.
|
|
> Este arquivo não deve ser commitado (adicione a um `.gitignore` se o projeto virar repositório git).
|
|
|
|
## Credenciais
|
|
|
|
```
|
|
VPS_HOST=179.197.228.240
|
|
VPS_USER=root
|
|
SSH_KEY=~/.ssh/id_ed25519
|
|
```
|
|
|
|
> Senha (`VPS_PASSWORD`) existe só como fallback de emergência — está guardada
|
|
> apenas no arquivo original do projeto CRM, não duplicada aqui. Autenticação
|
|
> normal é sempre por chave SSH.
|
|
|
|
Domínio base (wildcard automático da Hostinger, HTTPS via Let's Encrypt/Traefik):
|
|
|
|
```
|
|
TRAEFIK_HOST=srv1838065.hstgr.cloud
|
|
```
|
|
|
|
## Como conectar (sem senha)
|
|
|
|
A chave pública `~/.ssh/id_ed25519.pub` já está instalada em
|
|
`/root/.ssh/authorized_keys` da VPS.
|
|
|
|
```bash
|
|
# conectar e executar um comando
|
|
ssh root@179.197.228.240 "<comando>"
|
|
|
|
# conectar interativo
|
|
ssh root@179.197.228.240
|
|
|
|
# copiar arquivos (rsync)
|
|
rsync -az -e "ssh" ./ root@179.197.228.240:/caminho/no/servidor/
|
|
```
|
|
|
|
Alias opcional (se configurado em `~/.ssh/config`):
|
|
|
|
```bash
|
|
ssh gestor-trafego-vps "<comando>"
|
|
```
|
|
|
|
## O que já está rodando na VPS (relevante para o Doza)
|
|
|
|
Levantado via `ssh root@179.197.228.240 "docker ps"` em 2026-08-31. Cada app
|
|
fica isolado em `/docker/<nome-do-projeto>/` com seu próprio `docker-compose.yml`.
|
|
|
|
- `traefik` (network_mode host, Let's Encrypt automático) — **não mexer**.
|
|
- `openclaw` (agente da Hostinger) — **não mexer**.
|
|
- Stack **Supabase completa** já rodando: `supabase-db` (Postgres 17),
|
|
`supabase-pooler` (porta 5432/6543 públicas), `supabase-rest`
|
|
(PostgREST v14.12), `supabase-kong` (porta 8000/8443), `supabase-studio`,
|
|
`supabase-auth`, `supabase-storage`, `supabase-meta`, `supabase-realtime`,
|
|
`supabase-imgproxy`, `supabase-edge-functions`. **Já é Postgres + PostgREST
|
|
prontos** — antes de subir um stack RAG novo, avaliar se dá para usar
|
|
schemas isolados aqui em vez de duplicar infraestrutura.
|
|
- `genial-crm-postgres-1` já usa imagem `pgvector/pgvector:pg16` (porta local
|
|
`127.0.0.1:57432`) — pertence ao projeto CRM, não usar para o Doza.
|
|
- `ollama` (porta 11434) e `open-webui` — modelos locais já disponíveis na VPS.
|
|
- `automacoes-db` (container Docker avulso, porta local `127.0.0.1:5433`) —
|
|
criado via "Gerenciador Docker" do painel Hostinger, é o alvo original
|
|
para um novo container RAG (pgvector + PostgREST) discutido nesta sessão.
|
|
- `n8n` (porta 5678), `gitea`, `evolution-go`/`evolution-api`,
|
|
`gestor-trafego` (porta 4001), `wacrm20` (porta 3000).
|
|
|
|
## RAG Hub — banco compartilhado de desenvolvimento (equipe, não só Doza)
|
|
|
|
Criado em 2026-08-31 (renomeado de `rag-hub-doza` para `rag-hub` no mesmo dia,
|
|
assim que decidido que a infra é compartilhada). Stack própria, sem relação
|
|
com Supabase/CRM/genial-crm — serve exclusivamente para a equipe de dev usar
|
|
como RAG (indexação de código/docs) e reduzir tokens gastos por IAs ao
|
|
consultar os projetos. **Não é o banco de produção de nenhum sistema.**
|
|
|
|
Modelo: **um container Postgres+pgvector só**, e **um banco por sistema**
|
|
dentro dele (CRM, Doza, contabilidade, etc. cada um cria o seu). Mais barato
|
|
de manter (1 backup, 1 upgrade) do que um container Docker por projeto.
|
|
|
|
- Local na VPS: `/docker/rag-hub/` (compose + `.env`, `chmod 600`, gerado
|
|
isolado nesta instalação).
|
|
- Container: `rag-hub-db` (imagem `pgvector/pgvector:pg16`).
|
|
- **Não exposto publicamente** — porta ligada só em `127.0.0.1:55435` na VPS.
|
|
Acesso externo (ex: do Mac/Mini M4) é via túnel SSH:
|
|
|
|
```bash
|
|
ssh -N -L 55435:127.0.0.1:55435 root@179.197.228.240
|
|
# depois conectar em localhost:55435 normalmente
|
|
```
|
|
|
|
- Usuário admin: `rag_admin`, senha em `/docker/rag-hub/.env` na própria VPS
|
|
(não duplicada aqui).
|
|
- Extensões ativas: `vector` (pgvector 0.8.6), `pg_trgm` (habilitadas no
|
|
banco `rag_doza`; ao criar um banco novo pra outro sistema, rodar
|
|
`CREATE EXTENSION vector; CREATE EXTENSION pg_trgm;` nele também).
|
|
- **Banco do Doza**: `rag_doza`, schema `doza`, tabela inicial
|
|
`doza.code_chunks` (id, file_path, content, chunk_index,
|
|
embedding vector(768), updated_at) com índice ivfflat (cosine, lists=100).
|
|
- **Banco do Jhonny** (projeto MCP TypeScript em `code/`): `jhonny-rag`,
|
|
schema `jhonny-rag`. Criado em 2026-09-07. Usa o mesmo padrão do
|
|
`rag_tigre` (busca híbrida HNSW + pg_trgm, `file_index` com
|
|
`summary_embedding`). Role dedicada: `jhonny-rag` (grants por schema, sem
|
|
DDL). Wrappers locais: `rag/index_jhonny.sh`, `rag/search_jhonny.sh`,
|
|
`rag/migrate_jhonny.sh`; credenciais em `rag/jhonny.env`. Índice: 505
|
|
arquivos de `code/` (TypeScript), 3479 chunks. Como o schema tem um guífen,
|
|
o `search.py`/`index_code.py` escapam o identificador com aspas duplas
|
|
(`_qid`); os bancos sem guífen (doza/tigre) seguem intactos e funcionando.
|
|
- **Para adicionar outro sistema** (ex: CRM, contabilidade): conectar como
|
|
`rag_admin` e rodar `CREATE DATABASE rag_crm OWNER rag_admin;` (ou outro
|
|
nome), depois `\c rag_crm` e criar extensões/schema/tabelas próprias —
|
|
sem mexer no banco `rag_doza`.
|
|
- Init SQL do banco `rag_doza` versionado em `/docker/rag-hub/init/01-init.sql`
|
|
na VPS (roda automaticamente só na primeira subida do volume).
|
|
- Subir/parar: `ssh root@179.197.228.240 "cd /docker/rag-hub && docker compose up -d"` (ou `down`).
|
|
|
|
## Segurança
|
|
|
|
- A senha **não deve** aparecer em comandos, arquivos ou histórico do shell.
|
|
- Se a chave SSH for comprometida, revogá-la removendo a linha de
|
|
`/root/.ssh/authorized_keys` na VPS e gerar uma nova.
|
|
- Manter `~/.ssh/id_ed25519` protegido (`chmod 600`).
|