| name | featbit-deployment-docker |
| description | Expert guidance for deploying FeatBit with Docker Compose across three tiers - Standalone (PostgreSQL only), Standard (PostgreSQL/MongoDB + Redis), and Professional (+ ClickHouse + Kafka). Use when user mentions "docker-compose", "deploy with Docker", "standalone vs standard vs pro", works with docker-compose.yml files, or asks about container configuration, environment variables, or production Docker setup. Do not use for Kubernetes, Helm, AWS ECS/EKS, or cloud-provider-specific deployments. |
| license | MIT |
| metadata | {"version":"2.0.0","category":"deployment"} |
FeatBit Docker Compose Deployment
Expert guidance for deploying FeatBit with Docker Compose. This skill provides deployment instructions for all three tiers with links to detailed configuration files.
Core Concepts
FeatBit offers three deployment architectures optimized for different scales:
| Tier | Database | Cache | Message Queue | Analytics | Best For |
|---|
| Standalone | PostgreSQL | None | PostgreSQL | PostgreSQL | Low to moderate concurrent connections, moderate API calls, limited event volume |
| Standard | PostgreSQL/MongoDB | Redis | Redis | MongoDB | Moderate to high concurrent connections & API calls, moderate event volume |
| Professional | PostgreSQL/MongoDB | Redis | Kafka | ClickHouse | Moderate to high concurrent connections & API calls, high event volume |
Quick Selection Guide:
- Standalone: Minimal setup, single server, handles low to moderate concurrent WebSocket connections
- Standard: Production-ready with caching, handles high concurrent connections with moderate event volume
- Professional: Maximum scale for high connections AND high event volume, requires DevOps expertise
Note: Traffic includes both concurrent WebSocket connections from frontend clients and API calls to clients - these have different scales.
Architecture Details: https://docs.featbit.co/installation/deployment-options
Deployment Guides
Important: Before starting any deployment, clone the FeatBit repository as it contains required scripts:
git clone https://github.com/featbit/featbit.git
cd featbit
These scripts are accessed during Docker execution.
Access Information (applies to all deployment tiers):
Standalone Deployment
Quick Start:
git clone https://github.com/featbit/featbit.git
cd featbit
docker compose up -d
Prerequisites: Docker 20.10+, Docker Compose 2.0+, 2GB RAM
Complete Guide: references/standalone-configuration.md
- Full docker-compose.yml with health checks
- Step-by-step setup instructions
- Using managed PostgreSQL
- Resource requirements
- Limitations and when to upgrade
Standard Deployment
Two Options Available:
Option A: PostgreSQL + Redis
- Best for teams familiar with PostgreSQL
- Simpler than MongoDB option
git clone https://github.com/featbit/featbit.git
cd featbit
docker compose -f docker-compose-standard.yml up -d
Option B: MongoDB + Redis
- Better for document-oriented workloads
- Includes initialization script
git clone https://github.com/featbit/featbit.git
cd featbit
docker compose -f docker-compose-mongodb.yml up -d
Prerequisites: Docker 20.10+, Docker Compose 2.0+, 4GB RAM (8GB recommended)
Complete Guide: references/standard-configuration.md
- Full configurations for both PostgreSQL and MongoDB options
- Production setup with managed services
- Resource requirements
- When to choose Standard vs Professional
Professional Deployment
Enterprise-Scale Architecture:
- Kafka for high-throughput messaging
- ClickHouse for advanced analytics
- Horizontal scalability
- Handles millions of events per day
git clone https://github.com/featbit/featbit.git
cd featbit
docker compose -f docker-compose-pro.yml up -d
Prerequisites: Docker 20.10+, Docker Compose 2.0+, 8GB+ RAM, 4+ CPU cores
Complexity Warning: Requires significant DevOps expertise
Complete Guide: references/professional-configuration.md
- Full docker-compose.yml with all services
- Infrastructure startup sequence
- Horizontal scaling configuration
- Using managed services (AWS MSK, ClickHouse Cloud)
- Performance tuning
- Monitoring setup
Reference Guides
Environment Variables
Complete reference for all configuration options:
references/environment-variables.md
- Provider configuration (DbProvider, MqProvider, CacheProvider)
- Database connection strings (PostgreSQL, MongoDB, Redis, Kafka, ClickHouse)
- UI configuration (API_URL, EVALUATION_URL)
- Service-specific variables
- Using .env files for secrets
- Environment-specific configurations
- OpenTelemetry configuration
Troubleshooting
Common issues and solutions:
references/troubleshooting.md
- Port conflicts
- UI connection issues
- Database connection failures
- Service startup problems
- WebSocket connection failures
- Redis and MongoDB issues
- Kafka and ClickHouse troubleshooting
- Performance problems
- Emergency recovery procedures
- Debugging tips
Quick Commands
Service Management
docker compose up -d
docker compose -f docker-compose-standard.yml up -d
docker compose -f docker-compose-mongodb.yml up -d
docker compose -f docker-compose-pro.yml up -d
docker compose down
docker compose -f docker-compose-standard.yml down
docker compose ps
docker compose logs -f
docker compose logs -f api-server
docker compose restart api-server
docker compose up -d --scale evaluation-server=3
Maintenance
docker compose pull
docker compose up -d
docker system prune -a --volumes
docker compose exec postgresql pg_dump -U postgres featbit > backup.sql
docker compose exec mongodb mongodump --out /backup --db featbit
When to Choose Each Tier
Choose Standalone If:
- Production or non-production with low to moderate traffic:
- Low to moderate concurrent WebSocket connections from frontend clients
- Moderate API call volume to clients
- Low event volume (feature flag usage events & custom events)
- Simple single-server deployment preferred
- Cost-effective solution for small-scale production use
- Quick evaluation of FeatBit
Not Recommended For:
- Very high concurrent WebSocket connections
- High event volume requiring event streaming
- Need for caching layer to improve performance
Choose Standard If:
- Very high concurrent WebSocket connections & API calls
- Need caching layer (Redis) for improved performance
- Moderate event volume (feature flag usage events & custom events)
- Production environment requiring reliability
- Good balance of complexity vs features
Consider Professional If:
- Very high event volume requiring Kafka event streaming
- Require real-time analytics at scale with ClickHouse
- Need horizontal scalability for data analytics
Choose Professional If:
- Very high concurrent WebSocket connections & API calls
- Very high event volume (feature flag usage events & custom events)
- Need Kafka for high-throughput event streaming
- Need ClickHouse for real-time analytics at scale
- Have dedicated DevOps resources
- Budget for infrastructure
Consider Standard If:
- Limited DevOps expertise
- Moderate event volume (Redis sufficient for message queue)
- Cost-sensitive
Official Resources
Documentation
Source Code & Configurations
Docker Images
Alternative Deployments
Related Skills
- featbit-deployment-kubernetes: Kubernetes/Helm deployments with auto-scaling
- featbit-documentation: Official deployment and architecture documentation lookup
- featbit-getting-started: Initial setup, creating feature flags, SDK integration
- featbit-opentelemetry: Observability and monitoring setup