# docker-compose.yml for ai-memory. # # Run from this directory: # docker compose up -d # Attach Claude Code (or any MCP HTTP client) at # http://localhost:49374/mcp # State persists in the `ai-memory-data` volume; move it between hosts # by stopping the container, `docker volume export` (or rsync the # mountpoint), and importing on the target. services: ai-memory: image: ai-memory:local build: context: .. dockerfile: docker/Dockerfile container_name: ai-memory restart: unless-stopped user: "1000:1000" volumes: - ai-memory-data:/data ports: # Bind to loopback by default; flip to 0.0.0.0:49374 when serving # the homelab LAN. Keep behind a reverse proxy if you do. - "127.0.0.1:49374:49374" env_file: - path: .env required: false environment: - RUST_LOG=ai_memory=info,ai_memory_store=info,ai_memory_wiki=info,ai_memory_mcp=info,tracing_appender=warn # LLM provider configured via docker/.env (gitignored). Options: # anthropic | openai | openai-oauth | anthropic-oauth | copilot | # gemini | openai-compat | opencode # See .env.production.example for the full reference. healthcheck: test: ["CMD", "/usr/local/bin/ai-memory", "status"] interval: 30s timeout: 5s retries: 3 start_period: 5s volumes: ai-memory-data: name: ai-memory-data