> ⚠️ EM DESUSO desde 2026-06-17 — consolidado em /home/deploy/stack/documentos-unicos/ (ver LEIA-PRIMEIRO.md). Mantido só como histórico; NÃO usar como referência. --- # GUIA DE DEPLOY - SCOREODONTO CRM (VPS) Este guia detalha o processo de implantação do ScoreOdonto CRM em um servidor VPS (Ubuntu/Debian recomendado). ## 1. Pré-requisitos * Node.js (v18+) e NPM. * MySQL Server. * Nginx (como Proxy Reverso). * PM2 (Gerenciador de Processos). ## 2. Configuração do Banco de Dados No servidor MySQL da VPS, crie o banco e as tabelas: ```sql CREATE DATABASE sis_odonto CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` Importe seus dados usando o `SyncView` ou o script de atualização após o deploy. ## 3. Preparação do Ambiente Clone o repositório na VPS e instale as dependências: ```bash cd /var/www/scoreodonto npm install ``` Crie o arquivo `.env` na pasta raiz (`scoreodonto/`): ```env PORT=3002 DB_HOST=localhost DB_USER=seu_usuario DB_PASSWORD=sua_senha DB_NAME=sis_odonto ``` ## 4. Build do Frontend Gere os arquivos estáticos para produção: ```bash npm run build ``` Isso criará a pasta `dist` (ou `build`). ## 5. Gerenciamento com PM2 Inicie o servidor backend: ```bash pm2 start server.js --name "scoreodonto-api" pm2 save ``` ## 6. Configuração do Nginx Edite o arquivo de configuração do site no Nginx (`/etc/nginx/sites-available/scoreodonto`): ```nginx server { listen 80; server_name seu-dominio.com; # Frontend location / { root /var/www/scoreodonto/dist; index index.html; try_files $uri $uri/ /index.html; } # Backend API location /api { proxy_pass http://localhost:3002; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` Ative o site e reinicie o Nginx: ```bash sudo ln -s /etc/nginx/sites-available/scoreodonto /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx ``` ## 7. Ajustes de Produção * **API URL**: O frontend agora usa o `API_URL` relativo ou configurado via environment. Como o Nginx está redirecionando `/api` para o backend, o sistema funcionará corretamente de forma transparente. * **Notificações**: Estão unificadas no topo de cada página para fácil acesso. * **Segurança**: Certifique-se de configurar um certificado SSL (Certbot/Let's Encrypt). --- *Gerado automaticamente pelo Antigravity.*