Skip to content

Deployment Guides

This section provides comprehensive guides for deploying, configuring, and maintaining your Champa Intelligence instance in various production environments.


Deployment Options

  • Docker Compose Deployment

    The recommended method for single-server production deployments. Deploy the entire stack (application, database, cache) using Docker Compose with minimal infrastructure requirements.

    Best for: Single server, development, small teams

  • Kubernetes Deployment

    Enterprise-grade high availability deployment on Kubernetes with Patroni PostgreSQL clustering and Redis Sentinel for automatic failover.

    Best for: Large teams, high availability, cloud environments

  • Nginx Reverse Proxy

    Learn how to configure Nginx as a secure reverse proxy to handle HTTPS/SSL, serve static files efficiently, and load balance across multiple application instances.

    Best for: All production deployments


Maintenance & Operations

  • Monitoring & Alerting

    Integrate Champa Intelligence with Prometheus and Grafana for enterprise-grade monitoring. Includes sample queries and recommended alert rules.

  • Backup & Restore

    A critical guide to establishing a robust backup and disaster recovery strategy for your application data and configuration.

  • Troubleshooting

    A collection of common issues and their solutions, covering installation, performance, and application errors.


Deployment Comparison

Feature Docker Compose Kubernetes
Complexity Low Medium-High
Setup Time 15-30 minutes 1-2 hours
High Availability Manual failover Automatic failover
Scalability Vertical only Horizontal + Vertical
Resource Requirements 4GB RAM, 2 cores 6GB RAM, 4+ cores
Infrastructure Single server Kubernetes cluster
Maintenance Manual updates Rolling updates
Cost Lower Higher
Best For Small-medium deployments Enterprise deployments

Quick Start by Environment

Development / Testing

# Docker Compose - Fastest setup
git clone https://github.com/your-org/champa-intelligence.git
cd champa-intelligence
cp .env.example .env
# Edit .env with your settings
docker-compose -f docker-compose.server.yml up -d

Time to deploy: 15 minutes
Read: Docker Compose Guide

Small Production (Single Server)

# Docker Compose with SSL via Nginx
# 1. Deploy application stack
docker-compose -f docker-compose.server.yml up -d

# 2. Configure Nginx reverse proxy
# See Nginx guide for SSL setup

Time to deploy: 30 minutes
Read: Docker Compose Guide + Nginx Guide

Enterprise Production (HA Cluster)

# Kubernetes with automatic failover
# 1. Prepare cluster
kubectl create namespace champa-intelligence

# 2. Deploy infrastructure (Patroni, Redis Sentinel)
kubectl apply -f k8s/01-persistent-volumes.yaml
kubectl apply -f k8s/01c-etcd.yaml
kubectl apply -f k8s/01d-patroni-rbac.yaml
kubectl apply -f k8s/02a3-patroni-bootstrap-sql.yaml
kubectl apply -f k8s/02b-patroni.yaml
kubectl apply -f k8s/02c-redis-sentinel.yaml

# 3. Deploy application
kubectl apply -f k8s/03-config.yaml
kubectl apply -f k8s/04-champa-app.yaml
kubectl apply -f k8s/05-nginx.yaml
kubectl apply -f k8s/06-ingress.yaml

Time to deploy: 1-2 hours
Read: Kubernetes Guide


Architecture Diagrams

Docker Compose Architecture

graph TB
    subgraph "Docker Host"
        LB[Nginx Reverse Proxy :443]
        APP[champa-intelligence :8088]
        DB[(PostgreSQL :5433)]
        CACHE[(Redis :6379)]
    end

    EXT_DB[(External Camunda DB)]

    LB --> APP
    APP --> DB
    APP --> CACHE
    APP --> EXT_DB
Hold "Alt" / "Option" to enable pan & zoom

Kubernetes Architecture

graph TB
    subgraph "Kubernetes Cluster"
        ING[Ingress Controller]

        subgraph "Application"
            APP1[App Pod 1]
            APP2[App Pod 2]
        end

        subgraph "Database HA"
            PAT1[Patroni Master]
            PAT2[Patroni Replica]
        end

        subgraph "Cache HA"
            REDIS1[Redis Master]
            REDIS2[Redis Replica]
            SENT[Sentinel Cluster]
        end
    end

    EXT_DB[(External Camunda DB)]

    ING --> APP1
    ING --> APP2
    APP1 --> PAT1
    APP2 --> PAT1
    APP1 --> REDIS1
    APP2 --> REDIS1
    PAT1 -.-> PAT2
    REDIS1 -.-> REDIS2
    SENT -.-> REDIS1
    SENT -.-> REDIS2
    APP1 --> EXT_DB
    APP2 --> EXT_DB
Hold "Alt" / "Option" to enable pan & zoom

Deployment Checklist

Pre-Deployment

  • [ ] Kubernetes cluster ready (for K8s deployment)
  • [ ] Docker and Docker Compose installed (for Docker deployment)
  • [ ] Access to Camunda PostgreSQL database
  • [ ] Google Gemini API key obtained
  • [ ] DNS records configured (for production)
  • [ ] SSL certificates ready (for HTTPS)
  • [ ] Backup strategy planned

During Deployment

  • [ ] Environment variables configured
  • [ ] Secrets properly encoded (for Kubernetes)
  • [ ] Frontend assets built (npm run build:prod)
  • [ ] Docker image built and tested
  • [ ] Database initialized with auth schema
  • [ ] Health checks passing
  • [ ] Logs reviewed for errors

Post-Deployment

  • [ ] Default admin password changed
  • [ ] Additional users created
  • [ ] Prometheus scraping configured
  • [ ] Grafana dashboards imported
  • [ ] Backup jobs scheduled
  • [ ] Monitoring alerts configured
  • [ ] Documentation updated with environment specifics

Resources

Documentation

Professional Support

For enterprise support, custom integrations, or consulting: - Contact: info@champa-bpmn.com