# Deploy no cPanel (Node.js)

Este pacote contém o código-fonte do painel SMM. O cPanel precisa apenas de Node.js 20+ instalado.

## Passos

1. **Upload**: extraia este .zip dentro da pasta da aplicação no cPanel (ex.: `~/painel-smm/`).
2. **Setup Node.js App** (cPanel → "Setup Node.js App"):
   - Node version: **20.x** ou superior
   - Application mode: **Production**
   - Application root: pasta onde extraiu (ex.: `painel-smm`)
   - Application URL: seu domínio/subdomínio
   - Application startup file: `.output/server/index.mjs`
3. **Variáveis de ambiente** (na mesma tela, seção "Environment variables"):
   - `NITRO_PRESET` = `node-server`
   - `SMM_<PROVIDER>_KEY` = suas chaves reais dos provedores SMM
   - Qualquer outra secret que você usa (ex.: chaves Firebase Admin, se aplicável)
4. **Instalar dependências**: clique em **"Run NPM Install"**.
   - Ou via terminal SSH: `npm install`
5. **Build**: no terminal SSH da aplicação, rode:
   ```
   NITRO_PRESET=node-server npm run build
   ```
6. **Start**: volte à tela do Node.js App e clique **"Restart"**.
   - O cPanel executará `.output/server/index.mjs` automaticamente.

## Observações

- **Firebase** (Auth + Firestore) é usado no cliente com a config pública já embutida em `src/lib/firebase.ts`. Nada a fazer no servidor.
- **API SMM**: a rota `/api/public/smm-proxy` roda no servidor Node e lê `process.env.SMM_<PROVIDER>_KEY`. Configure essas variáveis no painel do cPanel.
- **Domínio**: aponte o subdomínio do cPanel para a aplicação Node dentro do "Setup Node.js App".
- **Logs**: use o botão "Show Logs" ou `~/nodevenv/<app>/*/logs`.

## Estrutura mínima esperada após build

```
.output/
  public/         # assets estáticos
  server/
    index.mjs     # <- startup file
package.json
node_modules/
```

Se o cPanel não permitir subprocessos durante o build, faça o build localmente
(`NITRO_PRESET=node-server npm run build`) e faça upload da pasta `.output/`
junto com `package.json` e `node_modules/` (ou rode "Run NPM Install" no cPanel).
