1.9 KiB
1.9 KiB
🦷 Arquitetura ScoreOdonto CRM (Multi-Tenant)
Este documento dita as regras exclusivas e as portas da arquitetura do ScoreOdonto CRM. Nunca misture essas configurações com as do Clube67.
🚀 Stack Tecnológica e Portas de Rede
- Frontend: Next.js (React)
- Porta de Produção/Dev:
3013
- Porta de Produção/Dev:
- Backend: Node.js + Prisma ORM
- Porta de Produção/Dev:
8018
- Porta de Produção/Dev:
- Banco de Dados (VPS 3): PostgreSQL 18
- Porta Padrão:
5432 - Banco de Dados Isolado:
scoreodonto
- Porta Padrão:
- Cache (VPS 3): DragonflyDB
- Porta Padrão:
6379 - Índice Isolado:
/1(exclusivo para ScoreOdonto)
- Porta Padrão:
- Proxy Reverso (VPS 1): Nginx / Traefik
- Domínio:
scoreodonto.com
- Domínio:
🔄 Fluxo de Deploy Contínuo
O webhook do ScoreOdonto deve rodar de forma isolada do NewWhats.
- Webhook Listener Port (VPS 4):
9002 - O webhook escuta na porta 9002 e dispara o script de build/deploy exclusivo (
deploy-prod-scoreodonto.sh).
🤖 Fluxo de Auto-Cura (Self-Healing) com Grafana/Gitea
Para automatizar a geração de Issues no repositório ruicesar/scoreodonto.com quando ocorrerem falhas em produção (VPS 1), os Agentes/Administradores devem configurar as regras no Grafana estritamente desta forma:
- Acesse o Grafana (Painel Central).
- Vá em Alerting -> Alert rules e crie uma nova regra de alerta (ex:
sum(rate({container="scoreodontocom-scoreodonto-backend-1"} |= "error" [5m])) > 0). - Na seção de Labels (Custom Labels), é OBRIGATÓRIO adicionar:
- Chave:
repo - Valor:
scoreodonto.com
- Chave:
- Na seção Notifications, garanta que o alerta está roteado para o Contact Point
Gitea-Bridge.
Important
A tag
repo="scoreodonto.com"é vital. A Gitea-Bridge multi-tenant na VPS 1 lerá essa tag dinamicamente e fará o POST na API do Gitea criando a Issue de Auto-Cura automaticamente no repositório correto. Sem essa tag, a bridge tentará abrir no repositório padrão.