# BLUESCARF AI HR Assistant - Docker Compose Configuration # For local development and production deployment version: '3.8' services: hr-assistant: build: context: . dockerfile: Dockerfile container_name: bluescarf-hr-assistant restart: unless-stopped ports: - "8501:8501" environment: # Application Configuration - ENVIRONMENT=production - COMPANY_NAME=BLUESCARF ARTIFICIAL INTELLIGENCE # Performance Optimization - CHUNK_SIZE=1000 - MAX_CONTEXT_CHUNKS=5 - EMBEDDING_BATCH_SIZE=16 # Security Settings - SESSION_TIMEOUT_HOURS=8 - ADMIN_SESSION_TIMEOUT_HOURS=2 # Logging - LOG_LEVEL=INFO - ENABLE_INTERACTION_LOGGING=true volumes: # Persistent vector database storage - vector_db_data:/app/vector_db # Persistent logs - logs_data:/app/logs # Optional: Custom logo (uncomment and provide path) # - ./custom_logo.png:/app/logo.png:ro # Optional: Custom configuration (uncomment if using) # - ./production.env:/app/.env:ro # Resource limits for production deploy: resources: limits: memory: 2G cpus: '1.0' reservations: memory: 1G cpus: '0.5' # Health check configuration healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8501/_stcore/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Networking networks: - hr_assistant_network # Named volumes for data persistence volumes: vector_db_data: driver: local driver_opts: type: none o: bind device: ./data/vector_db logs_data: driver: local driver_opts: type: none o: bind device: ./data/logs # Custom network for isolation networks: hr_assistant_network: driver: bridge # Development override (create docker-compose.dev.yml for development) # To use: docker-compose -f docker-compose.yml -f docker-compose.dev.yml up