Files
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

5.8 KiB

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.

# 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):

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:

    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).