services: mcpo: image: ghcr.io/open-webui/mcpo:main environment: MCPO_API_KEY: "${MCPO_API_KEY:-openwebui}" volumes: - ./mcp.json:/mcp.json command: - --api-key - "${MCPO_API_KEY:-openwebui}" - --config - /mcp.json restart: unless-stopped steward: image: ghcr.io/djw4/steward:latest depends_on: - mcpo user: "1000:1000" # matches the UID/GID created in the Dockerfile env_file: .env # copy .env.example → .env and fill in your values environment: THREAD_MEMORY_PATH: /data/thread_memory.json STEWARD__TOOLS__MCP_SERVER_URL: "http://mcpo:8000" STEWARD__TOOLS__MCP_SERVER_API_KEY: "${MCPO_API_KEY:-openwebui}" volumes: # Bind-mount a local ./data directory for persistent storage. # Create it before the first run: mkdir -p data - ./data:/data restart: unless-stopped