version: '3.8' services: # Ollama service (required for embeddings & LLM) ollama: image: ollama/ollama:latest container_name: claude-os-ollama ports: - "11434:11434" volumes: - ollama_data:/root/.ollama healthcheck: test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"] interval: 30s timeout: 10s retries: 3 restart: unless-stopped # MCP Server (knowledge base access only) mcp-server: build: context: ../.. # Build from root of claude-os dockerfile: deployment/mcp-only/Dockerfile container_name: claude-os-mcp ports: - "8051:8051" volumes: # Mount your existing database from local machine - ../../data:/app/data:ro # Read-only: your populated DB # Or use a volume if you want to persist changes # - mcp_data:/app/data environment: # Database SQLITE_DB_PATH: /app/data/claude-os.db # MCP Server MCP_SERVER_HOST: 0.0.0.0 MCP_SERVER_PORT: 8051 # Ollama connection OLLAMA_HOST: http://ollama:11434 OLLAMA_EMBED_MODEL: nomic-embed-text OLLAMA_MODEL: llama3.1:latest # Optional: Authentication # JWT_SECRET_KEY: your-secret-key-here # JWT_ALGORITHM: HS256 # API_USERNAME: admin # API_PASSWORD: changeme # Optional: CORS (adjust for your other apps) CORS_ORIGINS: "*" depends_on: ollama: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8051/health"] interval: 30s timeout: 10s retries: 3 restart: unless-stopped volumes: ollama_data: driver: local # Uncomment if you want persistent MCP data in Docker # mcp_data: # driver: local