version: '3.8'
services:
obsidian-mcp:
build: .
container_name: obsidian-mcp-server
restart: unless-stopped
ports:
- "${PORT:-3000}:3000"
environment:
# Git Configuration
GIT_REPO_URL: ${GIT_REPO_URL}
GIT_BRANCH: ${GIT_BRANCH:-main}
GIT_TOKEN: ${GIT_TOKEN}
# Server Configuration
PORT: 3000
NODE_ENV: ${NODE_ENV:-production}
# Authentication
API_KEY: ${API_KEY}
OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID}
OAUTH_CLIENT_SECRET: ${OAUTH_CLIENT_SECRET}
# Domain (for production)
BASE_URL: ${BASE_URL}
volumes:
# Persist vault data (optional - mainly for caching)
- vault-data:/app/vault
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
volumes:
vault-data:
driver: local