Deployment Guides¶
This section provides comprehensive guides for deploying, configuring, and maintaining your Champa Intelligence instance in various production environments.
Deployment Options¶
-
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
-
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
-
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¶
-
Integrate Champa Intelligence with Prometheus and Grafana for enterprise-grade monitoring. Includes sample queries and recommended alert rules.
-
A critical guide to establishing a robust backup and disaster recovery strategy for your application data and configuration.
-
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 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 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¶
- Getting Started: Installation Guide
- Configuration: Configuration Guide
- API Reference: API Documentation
- Administration: Admin Guide
Professional Support¶
For enterprise support, custom integrations, or consulting: - Contact: info@champa-bpmn.com