Pular para conteúdo

Variáveis de Ambiente

Veja Configuração para a tabela completa.

Arquivo .env

cp .env.example .env
# Edite o .env com suas configurações

Stripe (Sprints 34-35)

As variáveis abaixo são usadas para checkout de assinatura de escolas, compra de créditos de alunos, Customer Portal e webhooks:

Obrigatórias

Variável Descrição
STRIPE_PUBLIC_KEY Chave pública do Stripe (pk_live_... ou pk_test_...). Usada no frontend para inicializar o Stripe.js.
STRIPE_SECRET_KEY Chave secreta do Stripe (sk_live_... ou sk_test_...). Usada no backend para criar sessões de checkout, Customer Portal e gerenciar clientes. Nunca expor no frontend.
STRIPE_WEBHOOK_SECRET Signing secret do webhook (whsec_...). Obtido ao configurar o endpoint de webhook no Dashboard Stripe ou via Stripe CLI.
SITE_URL URL base do site (ex: https://mentoria.com). Usada para montar URLs de sucesso/cancelamento do checkout.

Opcionais (Price IDs)

Variável Descrição
STRIPE_PRICE_ID_STARTER Price ID do plano Starter (price_...). Configurado via Django Admin no model Plan.
STRIPE_PRICE_ID_PRO Price ID do plano Pro.
STRIPE_PRICE_ID_MAX Price ID do plano Max.

Nota: Os Price IDs dos pacotes de créditos são configurados diretamente no Django Admin no campo stripe_price_id do model MessagePackage.

OpenAI / LLM

Variável Descrição
OPENAI_API_KEY Chave de API da OpenAI (fallback global). Cada escola pode configurar sua própria chave via SchoolAPIKey.

Django

Variável Descrição
SECRET_KEY Chave secreta do Django.
DEBUG True para desenvolvimento, False para produção.
ALLOWED_HOSTS Hosts permitidos (separados por vírgula).
DATABASE_URL URL de conexão do banco de dados (PostgreSQL em produção).
REDIS_URL URL do Redis para cache e sessões.

Monitoramento

Variável Descrição
SENTRY_DSN DSN do Sentry para monitoramento de erros.

Segurança

  • Nunca commite o .env no repositório
  • O .dockerignore exclui .env da imagem Docker
  • Em produção, use Docker Secrets ou variáveis de ambiente do orquestrador
  • STRIPE_SECRET_KEY e STRIPE_WEBHOOK_SECRET jamais devem aparecer em logs, templates ou código frontend