Skip to content

Commit 9384eaa

Browse files
phernandezclaude
andcommitted
feat: improve Docker setup with configurable transport and CLI documentation
- Update Dockerfile to use SSE transport by default for HTTP connectivity - Simplify docker-compose.yml configuration with cleaner volume setup - Add comprehensive CLI commands documentation for Docker usage - Include mcp-proxy integration guide for Claude Desktop - Document project management workflow for Docker volume mounts - Remove complex multi-project configuration in favor of CLI-based setup 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 2a510e2 commit 9384eaa

3 files changed

Lines changed: 111 additions & 228 deletions

File tree

Dockerfile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
21
FROM python:3.12-slim
32

43
WORKDIR /app
@@ -10,7 +9,5 @@ COPY . .
109
RUN pip install --upgrade pip \
1110
&& pip install . --no-cache-dir --ignore-installed
1211

13-
# Expose port if necessary (e.g., uv might use a port, but MCP over stdio so not needed here)
14-
15-
# Use the basic-memory entrypoint to run the MCP server
16-
CMD ["basic-memory", "mcp"]
12+
# Use the basic-memory entrypoint to run the MCP server with default SSE transport
13+
CMD ["basic-memory", "mcp", "--transport", "sse", "--host", "0.0.0.0", "--port", "8000"]

docker-compose.yml

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,20 @@ services:
1010

1111
# Volume mounts for knowledge directories and persistent data
1212
volumes:
13-
# REQUIRED: Mount your Obsidian vault or knowledge directory
14-
# Change './obsidian-vault' to your actual directory path
15-
# Example: - /Users/yourname/Documents/ObsidianVault:/data/knowledge:rw
16-
- ./obsidian-vault:/data/knowledge:rw
17-
18-
# RECOMMENDED: Persistent storage for configuration and database
13+
14+
# Persistent storage for configuration and database
1915
- basic-memory-config:/root/.basic-memory:rw
20-
16+
17+
# The default project will be at /root/basic-memory
18+
2119
# OPTIONAL: Mount additional knowledge directories for multiple projects
2220
# - ./work-notes:/data/projects/work:rw
2321
# - ./personal-notes:/data/projects/personal:rw
24-
22+
23+
# You can edit the project config manually in
24+
# /root/.basic-memory/config.json
2525
environment:
26-
# Project configuration - maps project names to container paths
27-
- BASIC_MEMORY_PROJECTS={"main": "/data/knowledge"}
26+
# Project configuration
2827
- BASIC_MEMORY_DEFAULT_PROJECT=main
2928

3029
# Enable real-time file synchronization (recommended for Docker)
@@ -40,16 +39,9 @@ services:
4039
ports:
4140
- "8000:8000"
4241

43-
# Command options:
44-
45-
# Option 1: STDIO transport (default, recommended for MCP clients)
46-
command: ["basic-memory", "mcp"]
47-
48-
# Option 2: HTTP Server-Sent Events transport (uncomment to use)
49-
# command: ["basic-memory", "mcp", "--transport", "sse", "--host", "0.0.0.0", "--port", "8000"]
50-
51-
# Option 3: HTTP streamable transport (uncomment to use)
52-
# command: ["basic-memory", "mcp", "--transport", "streamable-http", "--host", "0.0.0.0", "--port", "8000"]
42+
# Command with SSE transport (configurable via environment variables above)
43+
# IMPORTANT: The SSE and streamable-http endpoints are not secured
44+
command: ["basic-memory", "mcp", "--transport", "sse", "--host", "0.0.0.0", "--port", "8000"]
5345

5446
# Container management
5547
restart: unless-stopped

0 commit comments

Comments
 (0)