Gerador de Arquivo .env por Stack
Cria arquivo .env e .env.example completo para stacks comuns (Next.js, Django, Rails, Laravel, Vite) com placeholders e comentários documentados.
Templates de .env por stack
A convenção .env foi popularizada pelo manifesto Twelve-Factor App da Heroku e pela biblioteca npm dotenv de Scott Motte (2013). A ideia é simples: configuração que muda entre ambientes — URL do banco, API keys, feature flags — vive em variáveis de ambiente, não no código, e um .env por desenvolvedor disponibiliza essas variáveis durante o desenvolvimento local. Hoje toda linguagem grande tem porte: dotenv no Node, python-dotenv no Python, godotenv no Go, dotenvy no Rust.
Formato do arquivo
Um par CHAVE=VALOR por linha. Comentários começam com #. Valores com espaços ou caracteres especiais precisam de aspas:
# Banco
DATABASE_URL=postgres://user:senha@localhost:5432/app
# Auth
JWT_SECRET="string longa aleatoria com espacos"
NODE_ENV=development
PORT=3000
- Nunca faça commit do
.env— coloque no.gitignore. Segredos vazados em repositórios públicos são varridos por bots em minutos. - Commit de um
.env.examplecom placeholders para que novos colaboradores saibam quais variáveis configurar. - O arquivo é lido uma vez no startup do processo — mudanças em runtime exigem restart.
Chaves típicas por stack
- Node/Express:
PORT,DATABASE_URL,JWT_SECRET,REDIS_URL,NODE_ENV. - Next.js:
NEXTAUTH_URL,NEXTAUTH_SECRET,NEXT_PUBLIC_*(só variáveis com prefixoNEXT_PUBLIC_vão para o cliente). - Django:
SECRET_KEY,DATABASE_URL,ALLOWED_HOSTS,DEBUG,DJANGO_SETTINGS_MODULE. - Rails:
DATABASE_URL,RAILS_MASTER_KEY,RACK_ENV. - Laravel:
APP_KEY,APP_ENV,DB_*,REDIS_*,MAIL_*. - Vite: variáveis do cliente exigem o prefixo
VITE_; o Create React App usaREACT_APP_. - Container Postgres:
POSTGRES_USER,POSTGRES_PASSWORD,POSTGRES_DB.
Além do .env: secrets em produção
Em produção, .env em texto puro no disco vira passivo. Use um gerenciador de segredos: AWS Secrets Manager, Google Secret Manager, HashiCorp Vault, Doppler, Infisical ou soluções nativas da plataforma como variáveis de ambiente da Vercel/Netlify. O dotenv-vault (Motte, 2022) criptografa e sincroniza o .env entre membros do time. Com Docker, passe segredos via --env-file .env, a diretiva env_file: do docker-compose ou Docker Swarm Secrets / Kubernetes Secrets em workloads orquestradas. Nunca logue o conteúdo do env — alguns loggers estruturados fazem isso por padrão e aquela linha no stdout fica a uma query do Splunk de virar desastre.
Perguntas frequentes
Posso commitar .env? Não, jamais. Coloque no .gitignore e commite um .env.example com placeholders. Scanners de repositório público (TruffleHog, GitGuardian) pegam vazamento em horas.
O que vai dentro de um .env? Tudo que é segredo ou específico de ambiente: URL de banco, API keys, JWT secrets, OAuth client IDs, tokens de terceiros (Stripe, SendGrid, S3), feature flags. Valores públicos e imutáveis (como nome do app) ficam no código.
Devo usar .env em produção? Prefira gerenciador de segredos. Se tiver que usar, restrinja as permissões para 600, monte como Docker secret e nunca cole dentro da imagem.
O que o prefixo NEXT_PUBLIC_ ou VITE_ faz? Marca a variável como segura para expor no bundle do browser. Tudo sem esse prefixo fica server-side. Colocar um segredo de verdade atrás desses prefixos vaza ele para todo visitante.
Ferramentas Relacionadas
Builder de arquivo .netrc
Monta um arquivo ~/.netrc (curl, ftp, git credential) com múltiplas entradas 'machine HOST', login, password e account opcional, mais entrada 'default' única. Avisa sobre passwords com '#' ou espaço (que quebram o parser) e relembra chmod 600.
Gerador de comando tar
Monte comandos tar (criar, extrair, listar) com compressão (gz/bz2/xz/zst), preservar permissões e exclusões.
Template de Diário Reflexivo
Gere um template de diário reflexivo com gratidão, foco do dia, nível de energia e reflexão noturna. Crie o hábito do journaling e cuide do bem-estar.