Docker Deployment¶
Run repobrain as a persistent MCP + webhook server in Docker.
Dockerfile¶
FROM python:3.12-slim
WORKDIR /app
# Install git (required for GitPython)
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
# Install repobrain
RUN pip install repobrain
# Persist data between container restarts
VOLUME ["/data"]
EXPOSE 8766 8765
ENV REPOMIND_DATA_DIR=/data
CMD ["repobrain", "serve", "--mcp-port", "8766", "--webhook-port", "8765"]
docker-compose.yml¶
version: "3.9"
services:
repobrain:
build: .
restart: unless-stopped
ports:
- "8766:8766" # MCP
- "8765:8765" # Webhook
volumes:
- repobrain-data:/data
- ${REPO_PATH}:/repo:ro # mount your repo read-only
environment:
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
REPOMIND_DATA_DIR: /data
REPOMIND_WEBHOOK_SECRET: ${REPOMIND_WEBHOOK_SECRET}
REPOMIND_MAX_COMMITS: 10000
command: >
sh -c "repobrain index /repo --no-docs && repobrain serve"
volumes:
repobrain-data:
Running¶
REPO_PATH=/path/to/your/repo \
ANTHROPIC_API_KEY=sk-ant-... \
REPOMIND_WEBHOOK_SECRET=your-secret \
docker compose up -d
Check logs:
Health Check¶
Add to your compose file for orchestration: