Como implementar Infisical local com Docker (e parar de usar .env)

Se você ainda guarda senha em .env, esse post vai te ajudar a evoluir isso. Hoje vou te mostrar como rodar o Infisical localmente com Docker e usar ele para gerenciar seus secrets de forma mais segura.

13 de abril de 20262 min de leituraTawan Silva
Como implementar Infisical local com Docker (e parar de usar .env)

Compartilhe este post

Envie para alguém ou salve o link para ler depois.

LinkedIn WhatsApp

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:6379

Para gerar as chaves:

openssl rand -hex 16
openssl rand -base64 32

Subindo o ambiente

Agora é só rodar:

docker compose up -d

Depois, 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.

Apoie o conteúdo

Gostou da postagem? Me pague um café.

Se este conteúdo te ajudou, você pode apoiar com qualquer valor via PayPal ou Pix.

Apoiar via PayPal

Comentários

Comentários passam por aprovação antes de ficarem visíveis.

Faça login para comentar neste post.

Nenhum comentário ainda. Seja o primeiro!