# 🏮 Guia de Deploy no cPanel - OutAgent

Deployar uma aplicação Node.js + React no cPanel requer alguns passos manuais importantes. Siga este roteiro:

## 1. Preparação dos Arquivos (Localmente)

Antes de subir tudo, precisamos gerar a versão de produção do frontend:

1.  No seu computador, abra o terminal na pasta `client`.
2.  Rode o comando:
    ```bash
    npm install
    npm run build
    ```
    Isso criará a pasta `client/dist`.

## 2. Upload para o Servidor

1.  Acesse o **Gerenciador de Arquivos** do seu cPanel.
2.  Recomendo criar uma pasta fora da `public_html` para o seu projeto (ex: `/home/usuario/outagent`).
3.  Suba os seguintes arquivos/pastas:
    *   Pasta `server/` (completa)
    *   Pasta `client/dist/` (apenas a pasta `dist` dentro da estrutura original ou mude o caminho no `server/index.js`)
    *   `package.json` (o da raiz, se tiver, mas principalmente o do `server/`)

Sua estrutura no servidor deve ficar assim:
```
/home/usuario/outagent/
├── client/
│   └── dist/
└── server/
    ├── index.js
    ├── database/
    └── ...
```

## 3. Configuração no cPanel

1.  No cPanel, procure por **"Setup Node.js App"**.
2.  Clique em **"Create Application"**.
3.  Configure os campos:
    *   **Node.js version**: Selecione 18 ou superior.
    *   **Application mode**: Production.
    *   **Application root**: Onde você subiu os arquivos (ex: `outagent`).
    *   **Application URL**: O domínio onde o app vai rodar.
    *   **Application startup file**: `server/index.js`.
4.  Clique em **"Create"**.

## 4. Instalação de Dependências

1.  Após criar, na mesma tela, procure o botão **"Run npm install"**.
2.  Isso vai baixar as pastas `node_modules`.

## 5. Ajustes de Banco de Dados (SQLite)

Garanta que a pasta `server/database/` tenha permissões de escrita (geralmente `755` ou `775` no cPanel). O SQLite precisa criar e editar o arquivo `outagent.db`.

## 6. Ponto de Atenção: CORS e URL

No arquivo `server/index.js`, certifique-se de que o CORS permite o seu domínio de produção:

```javascript
app.use(cors({
    origin: ['https://seu-dominio.com.br'], // Substitua pelo seu
    credentials: true,
}));
```

## 7. Promover Admin em Produção

Depois que o app estiver online, você precisará promover seu usuário. No terminal do cPanel (Terminal SSH) ou via cron job (uma vez), execute:
```bash
cd /path/to/app/server
node scripts/promote-admin.js seu@email.com
```

---

> [!TIP]
> **Dica de Performance**: No cPanel, o Node.js roda atrás de um proxy (Passenger). Se o site não abrir de primeira, verifique os logs de erro na interface "Setup Node.js App".
