services: xeno-bot: image: rogerzmukiibi/xeno-bot:test_v1 build: context: . dockerfile: Dockerfile ports: - "7860:7860" environment: - LLM_MODEL_NAME=${LLM_MODEL_NAME:-google/gemma-2-2b-it} - HF_TOKEN=${HF_TOKEN} - LLM_TIMEOUT_SECONDS=${LLM_TIMEOUT_SECONDS:-90} volumes: # Mount source code for live debugging (no rebuild needed) - ./app.py:/app/app.py - ./src:/app/src - ./XENO_Uganda_KnowledgeBase_Advisory.json:/app/XENO_Uganda_KnowledgeBase_Advisory.json # Data volumes - xeno_db:/tmp/xeno_db - chroma_cache:/root/.cache/chroma - ./xeno_memory.db:/app/xeno_memory.db - ./chats:/app/chats restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import sys, urllib.request; sys.exit(0) if urllib.request.urlopen('http://localhost:7860').status == 200 else sys.exit(1)"] interval: 30s timeout: 10s retries: 3 start_period: 5s volumes: xeno_db: driver: local chroma_cache: driver: local