A production-ready AI-powered Business Intelligence application with Docker deployment configuration.
This repository contains the Docker configuration and deployment guides for running the AI-BI-Ooo application stack in production. The application consists of multiple services including a UI component, AI service, database, and various supporting services.
The application stack includes:
- Wren UI (Frontend)
- Wren Engine (Backend)
- Wren AI Service (AI Processing)
- Ibis Server (Data Processing)
- Qdrant (Vector Database)
- Bootstrap Service (Initialization)
- Docker Engine 20.10.0 or later
- Docker Compose v2.0.0 or later
- Git
- 4GB RAM minimum
- 2 CPUs minimum
- Access to GitHub Container Registry (ghcr.io)
-
Clone the repository:
git clone https://github.com/BollineniRohith123/AI-BI-Ooo.git cd AI-BI-Ooo
-
Set up environment:
cd docker cp .env.production .env
-
Configure environment variables:
- Open
.env
in your preferred editor - Update all API keys and configuration values
- Generate and set a unique USER_UUID
- Open
-
Create Docker network:
docker network create wren
-
Start the application:
docker compose -f docker-compose.prod.yaml up -d
-
Verify deployment:
docker compose -f docker-compose.prod.yaml ps
For detailed setup instructions, please refer to the Production Deployment Guide.
Key environment variables that need to be configured:
# API Keys
LLM_OPENAI_API_KEY=your_production_openai_key
EMBEDDER_OPENAI_API_KEY=your_production_openai_key
QDRANT_API_KEY=your_production_qdrant_key
# Service Configuration
HOST_PORT=80
AI_SERVICE_FORWARD_PORT=5555
# Performance Settings
MAX_CONCURRENT_REQUESTS=50
RESPONSE_TIMEOUT_MS=30000
Default port mappings:
- UI: 80
- AI Service: 5555
- Engine: 8080
- Ibis Server: 8000
- Qdrant: 6333
Monitor service health at these endpoints:
http://localhost:8080/health
- Wren Enginehttp://localhost:5555/health
- AI Servicehttp://localhost:8000/health
- Ibis Serverhttp://localhost:3000/api/health
- UIhttp://localhost:6333/health
- Qdrant
View service logs:
# All services
docker compose -f docker-compose.prod.yaml logs
# Specific service
docker compose -f docker-compose.prod.yaml logs [service-name]
Update services:
docker compose -f docker-compose.prod.yaml pull
docker compose -f docker-compose.prod.yaml up -d
Backup data:
docker run --rm -v wren_data:/data -v $(pwd)/backup:/backup \
alpine tar czf /backup/data.tar.gz /data
- All services run with least privileges
- Sensitive volumes mounted as read-only
- Rate limiting enabled
- Regular security updates
- No sensitive data in image layers
Common issues and solutions are documented in the Production Deployment Guide.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and issues:
- Check the Production Deployment Guide
- Open an issue in the repository
- Check service logs and health endpoints
- Docker and Docker Compose teams
- OpenAI for AI capabilities
- Qdrant for vector database
- All contributors and maintainers