featbit

featbit-deployment-docker

3
0
# Install this skill:
npx skills add featbit/featbit-skills --skill "featbit-deployment-docker"

Install specific skill from multi-skill repository

# 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.

# SKILL.md


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.
appliesTo:
- "/docker-compose.yml"
- "
/docker-compose.yaml"
- "**/Dockerfile"
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):
- URL: http://localhost:8081
- Default Login: [email protected] / 123456

Standalone Deployment

Quick Start:

# Clone repository (if not already done)
git clone https://github.com/featbit/featbit.git
cd featbit

# Start services using the included docker-compose.yml
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

# Clone repository (if not already done)
git clone https://github.com/featbit/featbit.git
cd featbit

# Start services with PostgreSQL Standard configuration
docker compose -f docker-compose-standard.yml up -d

Option B: MongoDB + Redis
- Better for document-oriented workloads
- Includes initialization script

# Clone repository (if not already done)
git clone https://github.com/featbit/featbit.git
cd featbit

# Start services with MongoDB configuration
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

# Clone repository (if not already done)
git clone https://github.com/featbit/featbit.git
cd featbit

# Start all services (Docker Compose handles startup order via depends_on)
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

# Start all services (Standalone)
docker compose up -d

# Start all services (Standard PostgreSQL)
docker compose -f docker-compose-standard.yml up -d

# Start all services (Standard MongoDB)
docker compose -f docker-compose-mongodb.yml up -d

# Start all services (Professional)
docker compose -f docker-compose-pro.yml up -d

# Stop all services (use same -f flag as used for starting)
docker compose down
# or for non-default configs:
docker compose -f docker-compose-standard.yml down

# View status
docker compose ps

# View logs
docker compose logs -f

# View specific service logs
docker compose logs -f api-server

# Restart service
docker compose restart api-server

# Scale service (Professional tier)
docker compose up -d --scale evaluation-server=3

Maintenance

# Update to latest images
docker compose pull
docker compose up -d

# Clean up
docker system prune -a --volumes

# Backup PostgreSQL
docker compose exec postgresql pg_dump -U postgres featbit > backup.sql

# Backup MongoDB
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

  • Installation Guide: https://docs.featbit.co/installation/docker-compose
  • Deployment Options: https://docs.featbit.co/installation/deployment-options
  • Infrastructure Components: https://docs.featbit.co/tech-stack/infrastructure-components
  • FAQ: https://docs.featbit.co/installation/faq

Source Code & Configurations

  • Main Repository: https://github.com/featbit/featbit
  • Standalone: https://github.com/featbit/featbit/blob/main/docker-compose.yml
  • Standard (MongoDB): https://github.com/featbit/featbit/blob/main/docker-compose-mongodb.yml
  • Professional: https://github.com/featbit/featbit/blob/main/docker-compose-pro.yml
  • PostgreSQL Init: https://github.com/featbit/featbit/tree/main/infra/postgresql/docker-entrypoint-initdb.d
  • MongoDB Init: https://github.com/featbit/featbit/blob/main/infra/mongodb/docker-entrypoint-initdb.d

Docker Images

  • Docker Hub: https://hub.docker.com/u/featbit
  • Images: featbit-ui, featbit-api-server, featbit-evaluation-server, featbit-data-analytics-server

Alternative Deployments

  • Kubernetes: https://github.com/featbit/featbit-charts
  • Azure Container Apps: https://github.com/featbit/featbit-aspire
  • Terraform (AWS): https://github.com/featbit/featbit-terraform-aws
  • featbit-deployment-kubernetes: Kubernetes/Helm deployments with auto-scaling
  • featbit-deployment: Overview of all deployment options and architecture
  • featbit-getting-started: Initial setup, creating feature flags, SDK integration
  • featbit-opentelemetry: Observability and monitoring setup

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.