Guia Self-Hosted
Checklist para deploy do FlagBridge na sua infraestrutura.
Pré-requisitos
- PostgreSQL 15+ (recomendado: serviço gerenciado como AWS RDS, Supabase ou Neon)
- Docker ou Go 1.22+ runtime
- Reverse proxy (nginx, Caddy ou load balancer cloud) para TLS
Variáveis de Ambiente
| Variável | Obrigatório | Padrão | Descrição |
|---|---|---|---|
DATABASE_URL | Sim | — | String de conexão PostgreSQL |
JWT_SECRET | Sim | — | Secret para assinatura JWT (mín 32 chars) |
API_KEY_SALT | Não | — | Salt para hashing de API keys |
PORT | Não | 8080 | Porta do servidor API |
ALLOWED_ORIGINS | Não | localhost:3000 | Origens CORS permitidas (separadas por vírgula) |
SENTRY_DSN | Não | — | DSN do Sentry para error tracking |
DANGER
Gere o JWT_SECRET com um valor aleatório criptograficamente seguro:
bash
openssl rand -hex 32Nunca reutilize secrets entre ambientes.
Opções de Deployment
Docker Compose (Recomendado para times pequenos)
Use o docker-compose.yml do repositório:
bash
cp .env.example .env
# Edite .env com seus valores de produção
docker compose up -dBinário Go
Baixe a última release e execute diretamente:
bash
# Download
curl -fsSL https://github.com/flagbridge/flagbridge/releases/latest/download/flagbridge-linux-amd64 -o flagbridge
chmod +x flagbridge
# Execute as migrations primeiro
psql $DATABASE_URL -f migrations/001_initial.sql
psql $DATABASE_URL -f migrations/002_testing_sessions.sql
psql $DATABASE_URL -f migrations/003_webhooks.sql
# Inicie
DATABASE_URL=postgres://... JWT_SECRET=... ./flagbridgeKubernetes (Helm)
bash
helm repo add flagbridge https://flagbridge.github.io/helm-charts
helm install flagbridge flagbridge/flagbridge \
--set env.DATABASE_URL="postgres://..." \
--set env.JWT_SECRET="..." \
--set ingress.enabled=true \
--set ingress.host=flags.seudominio.comVeja flagbridge/helm-charts para referência completa de values.
Checklist de Produção
- [ ] Secrets:
JWT_SECRETeAPI_KEY_SALTúnicos, aleatórios e armazenados com segurança - [ ] Banco de dados: PostgreSQL com backups automáticos habilitados
- [ ] TLS: API servida via HTTPS com reverse proxy
- [ ] CORS:
ALLOWED_ORIGINSconfigurado apenas para o domínio do Admin dashboard - [ ] Senha admin: Senha padrão do admin alterada após primeiro login
- [ ] Monitoramento: Health check em
GET /v1/healthmonitorado - [ ] Backups: Schedule de backup do PostgreSQL configurado
Atualizando
Baixe a última imagem e reinicie:
bash
docker compose pull
docker compose up -dNovas migrations são aplicadas automaticamente na inicialização via init container.
Próximos passos
- Referência de instalação — variáveis de ambiente e opções de deployment
- Webhooks — configure notificações de alteração de flags
- Referência da API — autenticação e documentação de endpoints
