O problema do .env
Arquivos .env são simples, mas têm vários problemas:
Fácil de vazar (principalmente em repositórios)
Difícil de gerenciar em múltiplos ambientes
Não escala bem em times
Secrets ficam espalhados
Funciona no começo, mas vira dor de cabeça rápido.
O que é o Infisical
O Infisical é um gerenciador de secrets.
Ele permite centralizar coisas como:
API keys
Tokens
Senhas de banco
Variáveis de ambiente
Tudo fora do código, com controle e segurança.
Importante: o .env não some
Uma coisa importante:
O Infisical não elimina completamente o .env.
Ele elimina o .env da sua aplicação.
Você ainda vai ter um .env para subir a infraestrutura (Docker, banco, etc), mas não vai mais versionar secrets no seu código.
Subindo o Infisical com Docker
Vamos subir tudo com Docker Compose.
Aqui está um exemplo básico:
services:
infisical-postgres:
image: postgres:16-alpine
restart: unless-stopped
env_file:
- ./.env
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- infisical_postgres_data:/var/lib/postgresql/data
ports:
- "${POSTGRES_PORT:-5432}:5432"
infisical-redis:
image: redis:7-alpine
restart: unless-stopped
ports:
- "${REDIS_PORT:-6379}:6379"
infisical:
image: infisical/infisical:latest
restart: unless-stopped
depends_on:
- infisical-postgres
- infisical-redis
env_file:
- ./.env
ports:
- "${INFISICAL_PORT:-8080}:8080"
volumes:
infisical_postgres_data:Variáveis de ambiente
Crie um .env com algo assim:
INFISICAL_PORT=8080
POSTGRES_PORT=5432
REDIS_PORT=6379
SITE_URL=http://localhost:8080
PORT=8080
HOST=0.0.0.0
TELEMETRY_ENABLED=false
ENCRYPTION_KEY=GERAR_COM_OPENSSL
AUTH_SECRET=GERAR_COM_OPENSSL
POSTGRES_DB=infisical
POSTGRES_USER=infisical
POSTGRES_PASSWORD=infisical
DB_CONNECTION_URI=postgres://infisical:infisical@infisical-postgres:5432/infisical
REDIS_URL=redis://infisical-redis:6379Para gerar as chaves:
openssl rand -hex 16
openssl rand -base64 32Subindo o ambiente
Agora é só rodar:
docker compose up -dDepois, acessa:
http://localhost:8080
Configurando o Infisical
Crie sua conta
Crie um projeto
Adicione seus secrets
Exemplo:
DATABASE_URL
API_KEY
JWT_SECRET
Benefícios
Secrets fora do código
Mais segurança
Melhor organização
Fácil de escalar para múltiplos ambientes
Integração com CI/CD
Conclusão
O .env funciona, mas não é suficiente quando o projeto cresce.
O Infisical resolve esse problema trazendo controle e segurança para seus secrets.
Se você quer começar a construir sistemas mais profissionais, esse é um ótimo próximo passo.
