Aqui está a documentação oficial para que a equipe configure os arquivos .env corretamente.
1. Backend (hub-marketplace-backend)
O banco de dados, filhas em memória, chaves de autenticação (JWT) e dos marketplaces.
| Variável | Descrição / Exemplo | Status |
|---|
PORT | Porta em que o NestJS vai rodar (Ex: 3001 local). Ignorar em prod se a plataforma (Railway) sobreescrever. | Opcional |
DATABASE_URL | String de conexão do Postgres. Ex: postgresql://user:pass@host:5432/db | Obrigatória |
REDIS_URL | String de conexão do Redis para BullMQ e Cache. | Obrigatória |
JWT_SECRET | Chave de assintura para gerar os tokens de autenticação (mín. 32 char). | Obrigatória |
JWT_EXPIRES_IN | Tempo de vida do access_token. Padrão sugerido: 15m | Opcional |
TOKEN_ENCRYPTION_KEY | Chave AES (32 bytes) para criptografar os AccessTokens do Meli/Shopee no banco de dados. Ex: y0uR-sUPeR-S3curE-k3Y-32bYtEs_123! | Obrigatória |
CORS_ORIGIN | URL do frontend autorizado. Ex: https://app.omnidom.com. Use * localmente apenas. | Obrigatória |
MELI_APP_ID | Identificador do App Criado no Mercado Livre. | Opcional* |
MELI_SECRET | Secret Key gerada no painel do Mercado Livre. | Opcional* |
SHOPEE_PARTNER_ID | Identificador na Shopee Open Platform. | Opcional* |
SHOPEE_SECRET_KEY | Partner Key da Shopee. | Opcional* |
(Opcional: Mas necessário caso o módulo de integração Meli/Shopee seja utilizado pelos tenants).
A variável TOKEN_ENCRYPTION_KEY nunca deve ser perdida ou rotacionada levianamente! Se ela for alterada, todos os tokens OAuth decodificados de forma diferente pararão de funcionar, forçando todos os clientes a revincularem suas integrações.
2. Frontend (hub-marketplace)
Abaixo estão as chaves para a raiz do repositório NEXT.JS.
| Variável | Descrição / Exemplo | Status |
|---|
NEXT_PUBLIC_API_URL | Aponta para onde o motor NestJS está (Railway). Ex: https://sua-api.up.railway.app | Obrigatória |
NEXT_PUBLIC_APP_NAME | Usada por componentes visuais e titles no layout.tsx. | Opcional |
NEXT_PUBLIC_ENVIRONMENT | Para gerenciar logs ou analytics (ex: production, staging, development). | Opcional |
Lembretes do Next.js:
- Todas as varíaveis iniciadas por
NEXT_PUBLIC_ ficam visíveis no bundle enviado ao navegador (inseguro para credenciais).
- Nunca coloque tokens, IDs de banco ou segredos do Mercado Livre no repositório Next.js.