Variáveis de Ambiente
Lista completa de variáveis de ambiente necessárias para rodar a aplicação.
Importante
NUNCA commite arquivos .env no repositório. Use .env.example como referência.
Backend (Spring Boot)
Configuradas em application.yml ou como variáveis de ambiente.
Banco de Dados
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
SPRING_DATASOURCE_URL | URL do PostgreSQL | ✅ | jdbc:postgresql://localhost:5432/quettacode |
SPRING_DATASOURCE_USERNAME | Usuário do banco | ✅ | postgres |
SPRING_DATASOURCE_PASSWORD | Senha do banco | ✅ | postgres |
SPRING_DATA_MONGODB_URI | URI do MongoDB | ✅ | mongodb://localhost:27017/quettacode |
Redis
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
SPRING_DATA_REDIS_HOST | Host do Redis | ✅ | localhost |
SPRING_DATA_REDIS_PORT | Porta do Redis | ❌ | 6379 |
SPRING_DATA_REDIS_PASSWORD | Senha do Redis | ❌ | "" |
Meta (WhatsApp API)
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
META_APP_ID | ID da aplicação Meta | ✅ | 123456789 |
META_APP_SECRET | Secret da aplicação | ✅ | abc123... |
META_WEBHOOK_VERIFY_TOKEN | Token de verificação | ✅ | my-verify-token |
Storage (Cloudflare R2)
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
R2_ACCESS_KEY_ID | Access Key | ✅ | abc123... |
R2_SECRET_ACCESS_KEY | Secret Key | ✅ | xyz789... |
R2_BUCKET_NAME | Nome do bucket | ✅ | quettacode-files |
R2_ENDPOINT | Endpoint R2 | ✅ | https://abc.r2.cloudflarestorage.com |
Pagamentos (Stripe)
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
STRIPE_API_KEY | API Key Stripe | ✅ | sk_live_... |
STRIPE_WEBHOOK_SECRET | Webhook Secret | ✅ | whsec_... |
Monitoramento
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
SENTRY_DSN | DSN do Sentry | ❌ | https://[email protected]/... |
SENTRY_ORG | Organização Sentry | ❌ | quettacode |
SENTRY_PROJECT | Projeto Sentry | ❌ | api |
Frontend (Next.js)
Configuradas em .env.local ou no ambiente de deploy.
Públicas (Client-side)
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
NEXT_PUBLIC_API_URL | URL base da API | ✅ | http://localhost:8080 |
NEXT_PUBLIC_WS_URL | URL do WebSocket | ✅ | ws://localhost:8080/ws |
Privadas (Server-side)
| Variável | Descrição | Obrigatório | Exemplo |
|---|---|---|---|
SENTRY_DSN | DSN do Sentry | ❌ | https://[email protected]/... |
SENTRY_AUTH_TOKEN | Token Sentry | ❌ | sntrys_... |
Exemplo de Configuração Local
apps/api/src/main/resources/application-local.yml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/quettacode
username: postgres
password: postgres
data:
mongodb:
uri: mongodb://localhost:27017/quettacode
redis:
host: localhost
port: 6379
meta:
app-id: "YOUR_APP_ID"
app-secret: "YOUR_APP_SECRET"
webhook-verify-token: "local-dev-token"
apps/web/.env.local
NEXT_PUBLIC_API_URL=http://localhost:8080
NEXT_PUBLIC_WS_URL=ws://localhost:8080/ws