services: xeno-bot: image: rogerzmukiibi/xeno-bot:test_v1 build: context: . dockerfile: Dockerfile ports: - "7860:7860" environment: - GEMINI_API_KEY=${GEMINI_API_KEY} - GOOGLE_SHEETS_CREDENTIALS=${GOOGLE_SHEETS_CREDENTIALS} 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 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