version: '3.8'
services:
canvas-mcp:
build: .
environment:
- CANVAS_API_TOKEN=${CANVAS_API_TOKEN}
- CANVAS_DOMAIN=${CANVAS_DOMAIN}
- NODE_ENV=production
- LOG_LEVEL=info
- CANVAS_MAX_RETRIES=3
- CANVAS_RETRY_DELAY=1000
- CANVAS_TIMEOUT=30000
restart: unless-stopped
healthcheck:
test: ["CMD", "node", "-e", "import('./build/client.js').then(m => new m.CanvasClient(process.env.CANVAS_API_TOKEN, process.env.CANVAS_DOMAIN).healthCheck()).then(() => process.exit(0)).catch(() => process.exit(1))"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
volumes:
- ./logs:/app/logs:rw
networks:
- canvas-network
networks:
canvas-network:
driver: bridge
volumes:
logs: