Documentação

Configuração de produção

Checklist de ambiente e integrações antes de implantar o Motoko Base em produção.

Abrir emChatGPT (abre em uma nova aba)Claude (abre em uma nova aba)Cursor (abre em uma nova aba)Checklist de ambiente e integrações antes de implantar o Motoko Base em produção.

Use esta checklist antes do primeiro deploy em produção. As variáveis obrigatórias sobem o app; integrações opcionais podem ser ativadas uma de cada vez.

Referência completa de env: Environment Variables.

Obrigatório

Estas quatro variáveis são o mínimo para um app de produção funcional:

VariávelValor em produção
DATABASE_URLString de conexão Postgres — prefira o transaction pooler do Supabase (porta 6543) em runtime
BETTER_AUTH_SECRETSegredo aleatório longo — gere com openssl rand -base64 32; nunca reutilize o segredo de dev
BETTER_AUTH_URLOrigem HTTPS pública, ex.: https://app.example.com
NEXT_PUBLIC_APP_URLA mesma origem pública — usada para short links e redirects

Mantenha BETTER_AUTH_URL e NEXT_PUBLIC_APP_URL alinhados com a URL que os usuários realmente visitam.

Execute as migrações contra produção antes ou durante o primeiro deploy:

pnpm db:migrate

Se o DDL falhar pelo pooler, use temporariamente uma conexão direta (porta 5432). Veja Migrations.

Banco de dados

VerificaçãoAção
Postgres em execuçãoSupabase, Neon, RDS ou self-hosted — qualquer Postgres funciona
Migrações aplicadaspnpm db:migrate contra produção
Pooler para runtimeUse a URL do transaction pooler em DATABASE_URL para hosts serverless/multi-instância
RLS (Supabase)O starter vem com RLS habilitado — o app conecta via role do pooler, não com a anon key

Detalhes: Database.

Better Auth e segredos

VerificaçãoAção
Novo segredo de produçãoGere um BETTER_AUTH_SECRET novo — não copie de .env.local
Origem HTTPSBETTER_AUTH_URL deve coincidir com seu domínio ao vivo (cookies + callbacks dependem disso)
Trusted origins (opcional)BETTER_AUTH_TRUSTED_ORIGINS para hosts de preview/staging

Detalhes: Better Auth.

Callbacks OAuth

Se você usa login com Google ou GitHub, atualize tanto o console do provedor quanto o .env:

ProvedorURL de callback de produção
Google{BETTER_AUTH_URL}/api/auth/callback/google
GitHub{BETTER_AUTH_URL}/api/auth/callback/github

Defina credenciais de produção GOOGLE_* / GITHUB_* — apps OAuth de sandbox/dev não funcionarão no seu domínio ao vivo.

Detalhes: OAuth Setup.

Resend

Obrigatório para verificação de cadastro e redefinição de senha em produção.

VariávelNotas
RESEND_API_KEYAPI key de produção
EMAIL_FROMRemetente de domínio verificado, ex.: My App <noreply@yourdomain.com>

Verifique seu domínio no Resend (SPF/DKIM) antes do go-live.

Detalhes: Email (Resend).

Polar

Mude de sandbox para production quando o billing entrar em produção.

VariávelNotas
POLAR_SERVERproduction
POLAR_ACCESS_TOKENToken da organização de produção
POLAR_PRO_MONTHLY_PRODUCT_IDID do produto de produção
POLAR_WEBHOOK_SECRETDa config de webhook de produção

URL do webhook: {NEXT_PUBLIC_APP_URL}/api/billing/webhooks/polar

Teste o checkout no sandbox primeiro. Detalhes: Payments (Polar).

Cloudflare R2

VariávelNotas
R2_ACCOUNT_IDConta Cloudflare
R2_ACCESS_KEY_ID / R2_SECRET_ACCESS_KEYToken de API de produção
R2_BUCKET_NAMEBucket privado

Configure CORS do bucket para a origem de produção se uploads no navegador falharem.

Detalhes: Storage (R2).

PostHog

VariávelEscopoNotas
NEXT_PUBLIC_POSTHOG_PROJECT_TOKENClienteToken do projeto de produção
NEXT_PUBLIC_POSTHOG_HOSTClienteCombine com sua região PostHog (US/EU)
POSTHOG_PERSONAL_API_KEYServidorPara HogQL em /dashboard/analytics
POSTHOG_PROJECT_IDServidorID do projeto de produção
POSTHOG_HOSTServidorHost da API (não o host de ingest)

Detalhes: Analytics (PostHog).

Sentry

VariávelNotas
NEXT_PUBLIC_SENTRY_DSNDSN do projeto de produção
SENTRY_AUTH_TOKENCI/build — upload de source maps
SENTRY_ORG / SENTRY_PROJECTCI/build — slugs de org e projeto

Defina as variáveis do Sentry no seu ambiente de build (CI), não só em runtime, para que os source maps subam durante pnpm build.

O Sentry fica desativado durante next dev — verifique com pnpm build && pnpm start ou no host implantado.

Detalhes: Monitoring (Sentry).

Checklist pré-lançamento

  • Variáveis de ambiente de produção definidas no host (nunca faça commit de segredos)
  • BETTER_AUTH_SECRET novo gerado
  • BETTER_AUTH_URL e NEXT_PUBLIC_APP_URL apontam para o domínio HTTPS ao vivo
  • Migrações aplicadas no banco de produção
  • Domínio Resend verificado; teste o email de verificação
  • URLs de callback OAuth atualizadas (se usar login social)
  • Webhook Polar aponta para a URL de produção (se usar billing)
  • pnpm build conclui com sucesso localmente ou no CI
  • Smoke test: cadastro → verificação → dashboard → integrações-chave

Implantação — Implante em qualquer plataforma compatível com Next.js + exemplo Vercel.