Skip to content

Configuração de ambiente ​

Use .env.example apenas como referência local. Em homologação e produção, mantenha valores em um cofre de segredos, gere chaves exclusivas e nunca publique o arquivo .env.

Legenda: obrigatória é necessária para o ambiente recomendado; condicional depende do recurso/driver; opcional usa padrão seguro ou recurso alternativo.

Aplicação ​

VariávelNívelComo preencher
APP_NAMEObrigatóriaNome exibido da aplicação.
APP_ENVObrigatórialocal, staging ou production, conforme o ambiente.
APP_KEYObrigatóriaGere uma vez com php artisan key:generate; não copie entre ambientes.
APP_DEBUGObrigatóriafalse fora do desenvolvimento.
APP_URLObrigatóriaURL pública canônica, com HTTPS fora do local.
APP_LOCALE, APP_FALLBACK_LOCALEObrigatóriaIdioma principal e fallback; confirme o comportamento esperado pela equipe.
APP_FAKER_LOCALEOpcionalLocale usado somente para dados fictícios.
APP_PREVIOUS_KEYSCondicionalChaves antigas durante rotação controlada da APP_KEY.
APP_MAINTENANCE_DRIVER, APP_MAINTENANCE_STOREOpcionalCoordenação de manutenção; store compartilhado em múltiplas instâncias.
BCRYPT_ROUNDSOpcionalCusto de hash; valide desempenho antes de alterar.

Banco PostgreSQL ​

VariávelNívelComo preencher
DB_CONNECTIONObrigatóriapgsql na arquitetura do projeto.
DB_URLCondicionalURL única do provedor; substitui os campos separados quando usada.
DB_HOST, DB_PORTObrigatória sem DB_URLHost privado e porta PostgreSQL.
DB_DATABASE, DB_USERNAME, DB_PASSWORDObrigatória sem DB_URLBanco e credencial exclusivos do ambiente.
DB_SSLMODECondicionalPolítica TLS exigida pelo provedor.
DB_CHARSETOpcionalPreserve o padrão salvo pelo framework salvo exigência comprovada.

Variáveis MySQL, SQLite e SQL Server existentes em config/database.php são alternativas do framework, não a implantação suportada por esta arquitetura.

Redis, cache, sessão e fila ​

VariávelNívelComo preencher
REDIS_CLIENTObrigatória com RedisCliente instalado, normalmente phpredis.
REDIS_URLCondicionalURL única do provedor.
REDIS_HOST, REDIS_PORTObrigatória sem REDIS_URLEndpoint privado do Redis.
REDIS_USERNAME, REDIS_PASSWORDCondicionalCredenciais do serviço; não use valor de desenvolvimento em produção.
REDIS_DB, REDIS_CACHE_DBOpcionalÍndices lógicos para dados e cache.
REDIS_PREFIXOpcionalPrefixo exclusivo quando Redis é compartilhado.
REDIS_PERSISTENT, REDIS_MAX_RETRIES, REDIS_BACKOFF_ALGORITHM, REDIS_BACKOFF_BASE, REDIS_BACKOFF_CAPOpcionalAjustes de conexão e retentativa.
CACHE_STOREObrigatóriaredis na configuração recomendada.
CACHE_PREFIXCondicionalNecessário quando ambientes compartilham o mesmo serviço.
SESSION_DRIVERObrigatóriaredis na configuração recomendada.
SESSION_LIFETIME, SESSION_EXPIRE_ON_CLOSEOpcionalDuração e encerramento da sessão.
SESSION_ENCRYPTOpcionalCriptografia do conteúdo da sessão.
SESSION_DOMAIN, SESSION_PATHCondicionalEscopo do cookie.
SESSION_SECURE_COOKIEObrigatória em HTTPStrue em produção.
SESSION_HTTP_ONLY, SESSION_SAME_SITE, SESSION_PARTITIONED_COOKIEOpcionalPolítica do cookie; altere só com teste de login.
QUEUE_CONNECTIONObrigatóriaredis para processamento assíncrono recomendado.
REDIS_QUEUE_CONNECTION, REDIS_QUEUE, REDIS_QUEUE_RETRY_AFTEROpcionalConexão, fila padrão e tempo de reserva.
QUEUE_FAILED_DRIVEROpcionalPersistência de jobs falhos; mantenha habilitada em produção.

Os workers precisam consumir explicitamente events,whatsapp,workflows,default, mesmo que REDIS_QUEUE defina apenas a fila padrão.

E-mail ​

VariávelNívelComo preencher
MAIL_MAILERObrigatória quando há e-mail realsmtp ou outro driver configurado.
MAIL_URLCondicionalURL completa do provedor, se usada.
MAIL_SCHEME, MAIL_HOST, MAIL_PORTObrigatória sem MAIL_URLTransporte e endpoint SMTP.
MAIL_USERNAME, MAIL_PASSWORDCondicionalCredenciais SMTP.
MAIL_FROM_ADDRESS, MAIL_FROM_NAMEObrigatóriaRemetente autorizado e reconhecível.
MAIL_EHLO_DOMAINOpcionalDomínio EHLO exigido pelo provedor.
MAIL_LOG_CHANNEL, MAIL_SENDMAIL_PATHOpcionalApenas para drivers correspondentes.
POSTMARK_API_KEY, RESEND_API_KEYCondicionalAlternativas quando o mailer escolhido usa esses provedores.

Mailpit é somente local. Valide SPF, DKIM e DMARC no provedor antes de produção.

Arquivos ​

VariávelNívelComo preencher
FILESYSTEM_DISKObrigatóriaUse public na implantação atual. Os uploads de atualizações fixam esse disco no código.
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEYCondicionalCredencial do storage compatível com S3.
AWS_DEFAULT_REGION, AWS_BUCKETCondicionalRegião e bucket.
AWS_URL, AWS_ENDPOINT, AWS_USE_PATH_STYLE_ENDPOINTOpcionalCDN ou endpoint S3 compatível.

Execute php artisan storage:link e preserve storage/app/public. As variáveis AWS configuram o driver S3 do framework, mas não movem automaticamente os uploads atuais, que usam explicitamente public.

Realtime com Reverb ​

VariávelNívelComo preencher
BROADCAST_CONNECTIONObrigatória para realtimereverb.
REVERB_APP_ID, REVERB_APP_KEY, REVERB_APP_SECRETObrigatóriaTrio exclusivo por ambiente.
REVERB_HOST, REVERB_PORT, REVERB_SCHEMEObrigatóriaDestino visto pelo backend; use TLS em produção.
VITE_REVERB_APP_KEYObrigatóriaChave pública usada pelo navegador.
VITE_REVERB_HOST, VITE_REVERB_PORT, VITE_REVERB_SCHEMEObrigatóriaEndpoint público visto pelo navegador. Use esquema https para ativar transporte seguro wss; no local, http produz ws.
VITE_APP_NAMEOpcionalNome exposto no bundle web.

Variáveis VITE_* são incorporadas no build: alterá-las exige recompilar os assets. Pusher e Ably continuam disponíveis como drivers do framework, mas não fazem parte do caminho recomendado; suas variáveis só são necessárias se o driver for trocado conscientemente.

Meta e WhatsApp ​

VariávelNívelComo preencher
WHATSAPP_ENABLEDObrigatóriaAtive somente quando a integração estiver pronta.
WHATSAPP_API_VERSIONObrigatória ao ativarVersão suportada da Graph API, revisada em upgrades.
META_APP_IDObrigatória para Embedded SignupID do app Meta.
META_APP_SECRETObrigatória em produçãoSegredo usado no OAuth e assinatura dos webhooks.
META_CONFIG_IDObrigatória para Embedded SignupID da configuração criada na Meta.
META_REDIRECT_URIObrigatória para Embedded SignupURL HTTPS exata do callback OAuth.
META_WEBHOOK_VERIFY_TOKENObrigatóriaValor aleatório exclusivo usado na verificação do webhook global.

Veja o passo a passo em WhatsApp.

Logs e integrações alternativas ​

VariáveisNívelUso
LOG_CHANNEL, LOG_STACK, LOG_LEVELObrigatóriaDestino e nível dos logs. Evite debug em produção.
LOG_DEPRECATIONS_CHANNEL, LOG_DEPRECATIONS_TRACE, LOG_DAILY_DAYSOpcionalDeprecações e retenção local.
LOG_SLACK_WEBHOOK_URL, LOG_SLACK_USERNAME, LOG_SLACK_EMOJICondicionalAlertas via canal Slack do logger.
PAPERTRAIL_URL, PAPERTRAIL_PORT, LOG_PAPERTRAIL_HANDLERCondicionalEnvio ao Papertrail.
LOG_STDERR_FORMATTER, LOG_SYSLOG_FACILITYOpcionalFormatação e syslog.
SQS_PREFIX, SQS_QUEUE, SQS_SUFFIXCondicionalSomente se QUEUE_CONNECTION=sqs.
DYNAMODB_CACHE_TABLE, DYNAMODB_ENDPOINTCondicionalSomente se cache DynamoDB.
MEMCACHED_HOST, MEMCACHED_PORT, MEMCACHED_USERNAME, MEMCACHED_PASSWORD, MEMCACHED_PERSISTENT_IDCondicionalSomente se cache Memcached.

Variáveis disponíveis fora do .env.example ​

O framework consulta outras variáveis que não aparecem no arquivo de exemplo porque pertencem a drivers alternativos ou ajustes avançados. Elas são opcionais/condicionais, não itens ausentes da implantação padrão:

GrupoVariáveisQuando usar
AutenticaçãoAUTH_GUARD, AUTH_MODEL, AUTH_PASSWORD_BROKER, AUTH_PASSWORD_RESET_TOKEN_TABLE, AUTH_PASSWORD_TIMEOUTSomente ao personalizar os padrões de autenticação.
Banco genéricoDB_COLLATION, DB_FOREIGN_KEYS, DB_SOCKET, MYSQL_ATTR_SSL_CASomente no driver que oferece a opção. DB_ENCRYPT e DB_TRUST_SERVER_CERTIFICATE estão apenas como exemplos comentados para SQL Server.
Cache em bancoDB_CACHE_CONNECTION, DB_CACHE_TABLE, DB_CACHE_LOCK_CONNECTION, DB_CACHE_LOCK_TABLEQuando CACHE_STORE=database.
Fila em bancoDB_QUEUE_CONNECTION, DB_QUEUE_TABLE, DB_QUEUE, DB_QUEUE_RETRY_AFTERQuando QUEUE_CONNECTION=database.
BeanstalkdBEANSTALKD_QUEUE_HOST, BEANSTALKD_QUEUE, BEANSTALKD_QUEUE_RETRY_AFTERSomente com esse driver de fila.
Redis avançadoREDIS_CLUSTER, REDIS_CACHE_CONNECTION, REDIS_CACHE_LOCK_CONNECTIONCluster ou conexões nomeadas diferentes.
Sessão avançadaSESSION_CONNECTION, SESSION_TABLE, SESSION_STOREDriver de sessão que exige conexão/tabela/store explícito.
Broadcasting alternativoPUSHER_APP_ID, PUSHER_APP_KEY, PUSHER_APP_SECRET, PUSHER_APP_CLUSTER, PUSHER_HOST, PUSHER_PORT, PUSHER_SCHEME, ABLY_KEYSomente ao substituir Reverb.
Slack como serviçoSLACK_BOT_USER_OAUTH_TOKEN, SLACK_BOT_USER_DEFAULT_CHANNELIntegração de notificação do framework, não WhatsApp.
PostmarkPOSTMARK_MESSAGE_STREAM_IDA configuração atual o mantém comentado; habilite apenas junto com o driver.

BCRYPT_ROUNDS e as variáveis VITE_* aparecem no .env.example, embora sejam consumidas respectivamente pela configuração de hashing e diretamente pelo build frontend, não pela busca simples em config/.

Aplicar e validar ​

  1. Salve as variáveis no mecanismo seguro do ambiente.
  2. Limpe e reconstrua o cache de configuração na etapa de deploy.
  3. Recompile assets quando uma variável VITE_* mudar.
  4. Reinicie web, worker, scheduler e Reverb graciosamente.
  5. Execute os checklists de Ambientes e infraestrutura e Diagnóstico.

Nunca cole a saída completa de php artisan about, env, logs ou painel de hospedagem em um canal público; ela pode conter endpoints e dados operacionais.

SteerCrew — visibilidade operacional para equipes em campo.