HR-Assistant / docker_compose.yml
HassanJalil's picture
Upload 13 files
0a9f9c2 verified
# 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