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
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:
@@ -35,6 +35,8 @@ RUN pip install --no-cache-dir -r requirements.txt
|
||||
# Copy application code and package definition
|
||||
COPY src/ /app/src/
|
||||
COPY config/ /app/config/
|
||||
COPY scripts/ /app/scripts/
|
||||
COPY output/ /app/output/
|
||||
COPY pyproject.toml README.md /app/
|
||||
|
||||
# Install poetry-core (required for install with pyproject.toml)
|
||||
@@ -47,11 +49,13 @@ RUN pip install --no-cache-dir /app
|
||||
ENV PYTHONPATH=/app/src:$PYTHONPATH
|
||||
|
||||
# Create necessary directories
|
||||
RUN mkdir -p /app/logs
|
||||
RUN mkdir -p /app/logs /app/data /app/output /app/scripts
|
||||
|
||||
# Create non-root user
|
||||
# Create non-root user and set permissions
|
||||
RUN useradd -m -u 1000 appuser && \
|
||||
chown -R appuser:appuser /app
|
||||
chown -R appuser:appuser /app && \
|
||||
chmod +x /app/scripts/*.sh 2>/dev/null || true && \
|
||||
chmod +x /app/scripts/*.py 2>/dev/null || true
|
||||
|
||||
USER appuser
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user