Clone
3
V1.0.2
VPS 4 Builder edited this page 2026-06-03 21:54:05 +02:00

V1.0.2 - Arquitetura de Desenvolvimento (Live Reload)

Esta versão estabelece as regras e a estrutura para o novo ambiente de desenvolvimento em tempo real (Live Reload / HMR), garantindo agilidade na prototipação visual sem sacrificar a estabilidade da Produção.

1. Princípios Imutáveis

  1. Proxy Reverso: Sempre Traefik, nunca Nginx. O roteamento de subdomínios é gerido via labels no docker-compose.yml.
  2. Isolamento de Produção (VPS 1): A Produção na VPS 1 deve focar exclusivamente em rodar a versão estável final aprovada para os clientes, sem lidar com processos pesados de desenvolvimento (compilação Node/Vite).
  3. DNS Hostinger: O gerenciamento do domínio (rx.scoreodonto.com e dev.rx.scoreodonto.com) é feito via DNS da Hostinger. Não usamos túneis do Cloudflare. A VPS 1 é a única porta de entrada exposta.

2. Diagrama de Fluxo e Roteamento

=======================================================================================
                        1. PAINEL DA HOSTINGER (ZONA DNS)
=======================================================================================
   Tipo A   |   Nome: @      (rx.scoreodonto.com)     |   Alvo: [IP Público da VPS 1]
   Tipo A   |   Nome: dev    (dev.rx.scoreodonto.com) |   Alvo: [IP Público da VPS 1]

=======================================================================================
                     2. VPS 1 (APP & TRAEFIK GATEWAY PRINCIPAL)
                                IP VPN: 10.99.0.1
=======================================================================================
                                 [ TRAEFIK ]
          (Gera SSL automático via Let's Encrypt para os dois domínios)
                                      │
          SE O USUÁRIO DIGITAR:       │        SE A EQUIPE DEV DIGITAR:
          rx.scoreodonto.com          │        dev.rx.scoreodonto.com
                  │                   │                  │
                  ▼                   │                  ▼
     [ DOCKER COMPOSE PRODUÇÃO ]      │   Encaminha requisição transparente
     - Roda contêineres estáticos     │   pela rede VPN (ex: 10.99.0.4:5173)
     - Consome zero recursos de DEV   │                  │
                  │                   │                  │
                  ▼                   │                  │
     [ BANCO DE PRODUÇÃO (VPS 3) ] ◄──┼──────────────────┘
                                      │
=======================================================================================
                         3. VPS 4 (BUILDER & WORKSPACE)
                                IP VPN: 10.99.0.4
=======================================================================================
                                                         │
                                                         ▼
                                          [ DOCKER COMPOSE DESENVOLVIMENTO ]
                                          - Exposto para a VPN na porta 5173.
                                          - Roda "npm run dev" (Vite HMR / Hot Reload).
                                          - Conecta diretamente no BD da VPS 3 (Produção).
                                            
                                            ⚠️ NOTA OBRIGATÓRIA SOBRE O BANCO:
                                            O uso do banco de produção pelo ambiente de 
                                            desenvolvimento é PROVISÓRIO. Um banco de dados
                                            dedicado/isolado para desenvolvimento será 
                                            implantado no futuro para garantir integridade.
                                                         │
                                                         ▼
                                       [ PASTA /home/deploy/stack/rx.scoreodonto.com ]
                                       - Mapeada via Volume (-v) direto pro contêiner.
                                       - Edições de código feitas pela IA ou humanos
                                         refletem na tela do navegador instantaneamente.

3. Fluxo de Trabalho (Deploy)

Com esta estrutura, o ciclo de atualizações fica assim:

  1. Trabalha-se ativamente no código na VPS 4 (Workspace).
  2. O resultado visual e funcional é testado instantaneamente em dev.rx.scoreodonto.com.
  3. Somente após a aprovação das alterações e do layout, o commit é empurrado via Git para o Gitea.
  4. O Webhook oficial aciona a pipeline de Produção pesada (~5 min), buildando e sincronizando os contêineres para a VPS 1 de forma segura.

4. Configuração Aplicada (Traefik VPS 1)

O roteamento para o ambiente de desenvolvimento é ativado através de um arquivo de configuração dinâmica no Traefik (criado em /home/deploy/stack/traefik/dynamic/dev.rx.scoreodonto.yml na VPS 1).

A solução completa aplicada:

http:
  routers:
    dev-rx-scoreodonto:
      rule: "Host(`dev.rx.scoreodonto.com`)"
      entryPoints:
        - websecure
      tls:
        certResolver: le
      service: dev-rx-scoreodonto-service
  services:
    dev-rx-scoreodonto-service:
      loadBalancer:
        servers:
          - url: "http://10.99.0.4:5173"

A principal diferença em relação ao arquivo de produção é o IP do loadBalancer apontando para 10.99.0.4 (VPS 4 através da rede VPN) em vez do IP local do container da aplicação principal, além do roteamento focado exclusivamente em dev.rx.scoreodonto.com.