Colocar o V3RSec de pe (docker compose)
O V3RSec é empacotado para rodar em um único nó, via docker compose, operável por uma
pessoa. Esta página é a sequência de subida no estado atual do projeto.
Ordem importa. Subir os containers é o primeiro passo, mas a autenticação só passa a funcionar depois do bootstrap manual do Logto. Faça a subida, depois o bootstrap, depois valide o login.
1. Preparar as variáveis de ambiente
Copie o arquivo de exemplo e preencha os segredos (nenhum valor real vem versionado):
cp .env.example .env
# edite .env e troque TODOS os "troque-por-..." por segredos fortes
Variáveis essenciais
| Grupo | Variáveis | Para quê |
|---|---|---|
| Postgres (control-plane) | POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD |
Banco de metadados (tenants, alvos, usuários, papéis, ocorrências, auditoria). |
| Backend / PWA | BACKEND_PORT (8000), PWA_PORT (8080) |
Portas publicadas no host. São os dois únicos serviços expostos. |
| Fila | QUEUE_PASSWORD |
Redis (fila assíncrona de coleta e detecção). |
| OpenSearch | OPENSEARCH_ADMIN_USER, OPENSEARCH_ADMIN_PASSWORD, OPENSEARCH_URL |
Armazenamento e indexação. A senha exige maiúscula, minúscula, número e símbolo (mín. 8). |
| MinIO | MINIO_ROOT_USER, MINIO_ROOT_PASSWORD |
Object storage on-prem para retenção fria (snapshots). |
| Logto (IdP) | LOGTO_POSTGRES_*, LOGTO_ENDPOINT, LOGTO_ADMIN_ENDPOINT, LOGTO_ISSUER, LOGTO_JWKS_URI, LOGTO_API_RESOURCE |
Serviço de identidade/login. Ajuste os endpoints para o domínio real em produção. |
| Logto (PWA) | VITE_LOGTO_ENDPOINT, VITE_LOGTO_APP_ID, VITE_LOGTO_API_RESOURCE, VITE_BACKEND_URL |
Lidos pelo aplicativo no build. O VITE_LOGTO_APP_ID você obtém no bootstrap do Logto. |
| Coletor V3RCondo | V3RCONDO_AUDIT_KEY, V3RCONDO_AUDIT_BASE_URL, V3RSEC_COLLECTOR_TENANT_ID, V3RSEC_COLLECTOR_TARGET_ID |
Chave read-only da Audit Events API e os IDs do tenant/alvo. Sem eles o worker de coleta não sobe. |
Segredos ficam fora do código:
.enve.envrcestão no.gitignore. Nunca versione o arquivo preenchido.
2. Subir os containers
docker compose up -d --build
Isso sobe backend (Deno), PWA (React+Tailwind), Postgres, Redis, OpenSearch (+ Dashboards), Logto, CrowdSec, Prometheus/Alertmanager/Blackbox, MinIO e Vector. Apenas backend e PWA têm porta publicada no host; os motores OSS ficam na rede interna do compose (o backend é o único ponto exposto ao PWA).
Para só validar a configuração, sem subir nada:
docker compose config
3. Aplicar as migrations do control-plane
docker compose run --rm v3rsec-backend deno task migrate
Isso cria as tabelas de metadados e aplica o seed data-driven de papéis e permissões (RBAC).
4. Onde as coisas ficam
- Backend:
http://localhost:8000— nesta fatia, a rota pública éGET /health. - PWA:
http://localhost:8080. - Logto (login):
http://localhost:3301; console admin do Logto:http://localhost:3302.
5. Fazer o bootstrap do Logto (obrigatório)
Antes de qualquer login funcionar, siga o Bootstrap do Logto. É um passo manual e único: criar a primeira conta admin, a organização, o aplicativo de login e o recurso de API. Sem ele, o V3RSec sobe mas ninguém entra.
Limitações conhecidas da subida
- A validação ponta a ponta da subida (todos os serviços conversando de fato) ainda está pendente — o compose e as configs base estão entregues, mas o app ainda não roda de ponta a ponta.
- Em produção, o trust do certificado do OpenSearch ainda precisa ser resolvido.
- O vínculo alvo → coletor ainda passa por IDs preenchidos no
.env(onboarding de alvo automatizado é um passo futuro).
Veja o quadro completo em Estado atual e limitações.