version: '3.8'
services:
memex:
build: .
container_name: memex
restart: unless-stopped
ports:
- "3000:3000"
volumes:
# 数据持久化
- memex-data:/data
# 挂载 Claude Code 会话目录 (只读)
- ~/.claude/projects:/claude-sessions:ro
environment:
- NODE_ENV=production
- PORT=3000
- DATABASE_PATH=/data/memex.db
- CLAUDE_PROJECTS_PATH=/claude-sessions
healthcheck:
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1)).on('error', () => process.exit(1))"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
volumes:
memex-data:
driver: local