Self-Hosted Feature Flags in 626: Unleash vs Flagsmith vs GO Feature Flag (Ditch LaunchDarkly)
Feature flags have become indispensable for modern deployment workflows — trunk-based development, canary releases, A/B testing, and kill switches all depend on them. But commercial platforms like LaunchDarkly and Split.io enforce per-seat pricing ($15–30/developer/month) that scales poorly with growing teams. A 20-developer team pays $3,600–$7,200/year just to toggle booleans.
Self-hosting an open-source feature flag service gives you unlimited seats, SDK parity with major languages, audit logs, gradual rollouts, and full data ownership on a single VPS.
In this guide, we compare the top three self-hostable feature flag platforms in 2026: Unleash, Flagsmith, and GO Feature Flag.
The Landscape: Comparative Breakdown
| Feature / Capability | Unleash | Flagsmith | GO Feature Flag |
|---|---|---|---|
| Core Paradigm | Enterprise-grade flag server with strategies | Full feature platform + remote config + experimentation | Lightweight Go relay/proxy with YAML config |
| Technology Stack | Node.js, PostgreSQL, Redis | Django (Python), PostgreSQL, Redis | Go (single binary), YAML/JSON config |
| SDK Languages | 16+ (Java, JS, Python, Go, Rust, Ruby, .NET, Swift, Android, iOS, etc.) | 9+ (Python, JS, Go, Ruby, Rust, Android, iOS, .NET, Java) | 8+ via OpenFeature provider (Go, JS, Python, Java, .NET, Rust) |
| Strategy Types | Gradual rollout, A/B, multivariate, kill switch, remote address | Gradual, boolean, number, string, remote config | Boolean, gradual, A/B, time-based, dark launch |
| Audit Log | Yes (full event log) | Yes (change history per flag) | Basic (config diff via Git) |
| UI Dashboard | Full admin UI with projects & environments | Full admin UI with segments & identities | Minimal API + OpenFeature-compatible |
| Self-Host Tier | Open-source (Apache 2.0) — unlimited seats | Open-source (BSD-3) — unlimited seats | Open-source (MIT) — unlimited |
| Best For | Teams needing enterprise strategies & audit trails | Teams wanting remote config + experiments in one UI | Teams wanting GitOps-driven flags with minimal footprint |
1. Unleash — The Enterprise-Grade Flag Server
Unleash is the most mature open-source feature flag platform, originally built at Finn.no (Norway's largest marketplace). It powers production workloads for teams of 50–500+ developers and offers the richest set of rollout strategies.
Key Strengths
- Advanced Strategies: Native support for gradual rollout (percentage-based), A/B testing with variant buckets, multi-variant flags, geographic targeting, and custom strategy plugins.
- Environment Isolation: Built-in concept of projects → environments (dev, staging, prod) with per-environment token scoping.
- Audit Trail: Every flag change is logged with actor, timestamp, and diff — critical for compliance and incident post-mortems.
- SDK Ecosystem: Official SDKs for 16+ languages including Rust, Ruby, Android, and iOS. Edge SDKs for Next.js and Cloudflare Workers.
- API Tokens: Scoped API tokens with per-project and per-environment permissions — no global admin keys in your application config.
Docker Compose Setup
version: "3.9"
services:
unleash-db:
image: postgres:16-alpine
environment:
POSTGRES_DB: unleash
POSTGRES_USER: unleash
POSTGRES_PASSWORD: ${UNLEASH_DB_PASSWORD}
volumes:
- unleash-db:/var/lib/postgresql/data
restart: unless-stopped
unleash:
image: unleashorg/unleash-server:6
ports:
- "4242:4242"
environment:
DATABASE_URL: postgres://unleash:${UNLEASH_DB_PASSWORD}@unleash-db:5432/unleash
INIT_ADMIN_API_TOKENS: ${UNLEASH_API_TOKEN}
depends_on:
- unleash-db
restart: unless-stopped
volumes:
unleash-db:
Honest Pros & Cons
Pros:
- Battle-tested at enterprise scale (Finn.no, DNB, Equinor)
- Rich strategy engine with plugin architecture
- Full audit log out of the box
- Active community (9k+ GitHub stars)
Cons:
- Node.js runtime means higher memory footprint (~300–500MB)
- UI can feel cluttered for small teams with simple boolean needs
- Enterprise edition (Unleash Cloud) is separate from self-hosted open-source; some features (SSO, role-based access) are enterprise-only
- No built-in experimentation/bayesian stats — you need external analytics
2. Flagsmith — Feature Flags + Remote Config + Experiments
Flagsmith is a newer platform that combines feature flags with remote configuration, user segments, and lightweight experimentations. It's the best choice for teams that want flags and dynamic config in a single UI without adding a separate tool.
Key Strengths
- Remote Config: Flagsmith stores boolean, string, integer, and JSON values per flag — your app can fetch config at runtime without redeploying.
- User Segments: Define segments (e.g., "beta users", "enterprise tier") and target flags to specific segments or individual identities.
- Identity Management: Built-in concept of user identities — you can override flags per user for testing and QA.
- Experimentation (Premium): A/B testing with Bayesian statistics is available in the open-source edition for basic scenarios.
- Edge Proxy: A lightweight Go edge relay that caches flags client-side and reduces latency to <1ms.
Docker Compose Setup
version: "3.9"
services:
flagsmith-db:
image: postgres:16-alpine
environment:
POSTGRES_DB: flagsmith
POSTGRES_USER: flagsmith
POSTGRES_PASSWORD: ${FLAGSMITH_DB_PASSWORD}
volumes:
- flagsmith-db:/var/lib/postgresql/data
restart: unless-stopped
flagsmith:
image: flagsmith/flagsmith-api:latest
ports:
- "8000:8000"
environment:
DATABASE_URL: postgres://flagsmith:${FLAGSMITH_DB_PASSWORD}@flagsmith-db:5432/flagsmith
SECRET_KEY: ${FLAGSMITH_SECRET}
ENVIRONMENT: production
depends_on:
- flagsmith-db
restart: unless-stopped
flagsmith-frontend:
image: flagsmith/flagsmith-frontend:latest
ports:
- "8080:8080"
environment:
API_URL: http://flagsmith:8000/api/v1
depends_on:
- flagsmith
restart: unless-stopped
volumes:
flagsmith-db:
Honest Pros & Cons
Pros:
- Remote config + flags in one platform
- Clean modern UI with segment targeting
- Edge proxy for client-side caching
- Strong SDK support including mobile (iOS, Android)
Cons:
- Django/Python stack requires more memory than a Go binary (~400–600MB with Postgres)
- Documentation can lag behind the actual API capabilities
- Some advanced features (SSO, audit logs) are enterprise tier
- Community is smaller than Unleash (~4k GitHub stars)
3. GO Feature Flag — The GitOps-Native Flag Relay
GO Feature Flag takes a fundamentally different approach: instead of a database-backed server with a UI, it's a single Go binary that reads flag configuration from YAML/JSON files (local or remote Git/S3/HTTP) and exposes an OpenFeature-compatible API. It's designed for teams who want flags to live in Git alongside their code.
Key Strengths
- GitOps-Native: Flag configs are YAML files versioned in Git — changes go through pull requests, code review, and CI pipelines. No dashboard needed.
- Minimal Footprint: Single Go binary, ~30MB memory, no database required.
- OpenFeature Standard: Full compliance with the OpenFeature specification — works with any OpenFeature SDK (Go, JS, Python, Java, .NET, Rust).
- Configuration Sources: Read flag files from local disk, Git, S3, HTTP endpoints, or Kubernetes ConfigMaps.
- No Database: State is derived from the config file — no migrations, no DB backups, no connection pool tuning.
Docker Compose Setup
version: "3.9"
services:
go-feature-flag-relay:
image: gofeatureflag/relay-proxy:latest
ports:
- "1031:1031"
environment:
- LISTEN=:1031
- POLLINGINTERVAL=5s
- RETRIEVER_KIND=http
- RETRIEVER_URL=https://raw.githubusercontent.com/yourorg/flags/main/flags.yml
- RETRIEVER_GITHUB_TOKEN=${GITHUB_TOKEN}
restart: unless-stopped
Example Flag Config (flags.yml)
new-checkout-flow:
variations:
enabled: true
disabled: false
defaultRule:
variation: disabled
rules:
- name: beta-testers
query: '{ key: "email", operator: endsWith, value: "@beta.com" }'
variation: enabled
- name: 10-percent-rollout
query: '{ key: "userId", operator: percentage, value: 10 }'
variation: enabled
Honest Pros & Cons
Pros:
- Zero database — perfect for GitOps and Kubernetes
- ~30MB memory footprint — runs on the smallest VPS
- Full OpenFeature compliance — vendor-neutral SDK layer
- Configuration-as-code with PR review and audit trail via Git
Cons:
- No built-in UI dashboard — you manage flags via YAML in Git
- No built-in audit log beyond Git history
- Smaller community (~1.5k GitHub stars)
- Not ideal for non-technical product teams who need a visual dashboard
- No native experimentation/bayesian A/B testing
Decision Guide
| Your Situation | Recommended Tool |
|---|---|
| Enterprise team, need audit trails + SSO + advanced strategies | Unleash |
| Need flags + remote config + user segments in one UI | Flagsmith |
| GitOps-native, no database, minimal footprint | GO Feature Flag |
| Want all three approaches? | Combine: GO Feature Flag as edge relay + Unleash as backend |
Production Best Practices
-
Pin Docker image tags: Use
unleash-server:6.6.0notlatest. Flag platform upgrades can introduce breaking API changes. - Network isolation: Put the flag server and database on an internal Docker network. Expose only the API port (4242 for Unleash, 8000 for Flagsmith, 1031 for GO Feature Flag) through Traefik/Caddy with mTLS.
- SDK initialization: Initialize SDKs with a server-sent events (SSE) connection for real-time flag updates. Polling adds latency; SSE is push-based and near-instant.
-
Secrets management: Store API tokens and database passwords in Infisical or Vaultwarden — not in
.envfiles checked into Git. - Backup the database: If using Unleash or Flagsmith, automate PostgreSQL backups with pgBackRest or restic. GO Feature Flag needs no backup (state is in Git).
Conclusion
LaunchDarkly charges $15–30/developer/month. For a 20-developer team, that's $3,600–$7,200/year. A self-hosted feature flag platform on a $5 VPS gives you unlimited seats, full data ownership, and SDK parity with every major language.
- Unleash for enterprise teams needing audit trails and advanced strategies.
- Flagsmith for teams wanting flags + remote config in one platform.
- GO Feature Flag for GitOps-native deployments with zero database overhead.
Explore the full comparison and deployment guides:
👉 Self-Hosted Feature Flag Alternatives
Top comments (0)