feat: enhance chat service with documentation indexing and improved Docker configuration
Some checks failed
CI/CD Pipeline / Generate Documentation (push) Failing after 7m41s
CI/CD Pipeline / Lint Code (push) Failing after 7m44s
CI/CD Pipeline / Run Tests (push) Has been skipped
CI/CD Pipeline / Security Scanning (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (api) (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (chat) (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (frontend) (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (worker) (push) Has been skipped
CI/CD Pipeline / Deploy to Staging (push) Has been skipped
CI/CD Pipeline / Deploy to Production (push) Has been skipped

This commit is contained in:
2025-10-20 19:15:32 +02:00
parent 6f5deb0879
commit 27dd9e00b6
14 changed files with 784 additions and 94 deletions

View File

@@ -1,16 +1,17 @@
version: "3.8"
services:
# MongoDB Database
mongodb:
image: docker.io/library/mongo:7-jammy
container_name: datacenter-docs-mongodb-dev
hostname: mongodb
ports:
- "27017:27017"
- "${MONGODB_PORT}:27017"
env_file:
- ../../.env
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: admin123
MONGO_INITDB_DATABASE: datacenter_docs
MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USER}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD}
MONGO_INITDB_DATABASE: ${MONGODB_DATABASE}
volumes:
- mongodb-data:/data/db
- mongodb-config:/data/configdb
@@ -26,8 +27,11 @@ services:
redis:
image: docker.io/library/redis:7-alpine
container_name: datacenter-docs-redis-dev
hostname: redis
ports:
- "6379:6379"
- "${REDIS_PORT}:6379"
env_file:
- ../../.env
command: redis-server --appendonly yes
volumes:
- redis-data:/data
@@ -45,15 +49,11 @@ services:
context: ../..
dockerfile: deploy/docker/Dockerfile.api
container_name: datacenter-docs-api-dev
hostname: api
ports:
- "8000:8000"
environment:
- MONGODB_URL=mongodb://admin:admin123@mongodb:27017
- MONGODB_DATABASE=datacenter_docs
- REDIS_URL=redis://redis:6379
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- MCP_SERVER_URL=${MCP_SERVER_URL:-http://localhost:8001}
- LOG_LEVEL=DEBUG
- "${API_PORT}:8000"
env_file:
- ../../.env
volumes:
- ../../src:/app/src
- ../../config:/app/config
@@ -74,18 +74,18 @@ services:
context: ../..
dockerfile: deploy/docker/Dockerfile.chat
container_name: datacenter-docs-chat-dev
hostname: chat
ports:
- "8001:8001"
environment:
- MONGODB_URL=mongodb://admin:admin123@mongodb:27017
- MONGODB_DATABASE=datacenter_docs
- REDIS_URL=redis://redis:6379
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- LOG_LEVEL=DEBUG
- "${CHAT_PORT}:8001"
env_file:
- ../../.env
volumes:
- ../../src:/app/src
- ../../config:/app/config
- ../../src:/app/src:z
- ../../config:/app/config:z
- ../../output:/app/output:z # Documentation files
- ../../scripts:/app/scripts:z # Indexing scripts
- chat-logs:/app/logs
- chat-data:/app/data # Vector store persistence
depends_on:
mongodb:
condition: service_healthy
@@ -101,12 +101,9 @@ services:
context: ../..
dockerfile: deploy/docker/Dockerfile.worker
container_name: datacenter-docs-worker-dev
environment:
- MONGODB_URL=mongodb://admin:admin123@mongodb:27017
- MONGODB_DATABASE=datacenter_docs
- REDIS_URL=redis://redis:6379
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- LOG_LEVEL=DEBUG
hostname: worker
env_file:
- ../../.env
volumes:
- ../../src:/app/src
- ../../config:/app/config
@@ -125,15 +122,16 @@ services:
flower:
image: docker.io/mher/flower:2.0
container_name: datacenter-docs-flower-dev
hostname: flower
ports:
- "5555:5555"
environment:
- CELERY_BROKER_URL=redis://redis:6379
- CELERY_RESULT_BACKEND=redis://redis:6379
- FLOWER_PORT=5555
- "${FLOWER_PORT}:5555"
env_file:
- ../../.env
depends_on:
- redis
- worker
redis:
condition: service_healthy
worker:
condition: service_healthy
networks:
- datacenter-network
restart: unless-stopped
@@ -144,8 +142,11 @@ services:
context: ../..
dockerfile: deploy/docker/Dockerfile.frontend
container_name: datacenter-docs-frontend-dev
hostname: frontend
ports:
- "8080:80"
- "${FRONTEND_PORT}:80"
env_file:
- ../../.env
depends_on:
- api
- chat
@@ -166,6 +167,8 @@ volumes:
name: datacenter-docs-api-output-dev
chat-logs:
name: datacenter-docs-chat-logs-dev
chat-data:
name: datacenter-docs-chat-data-dev
worker-logs:
name: datacenter-docs-worker-logs-dev
worker-output: