Files
web-inspector/docker-compose.yml
jungwoo choi 69e0f80282 feat: MCP 서버 추가 — AI 에이전트용 웹 검사 도구
Node.js + TypeScript MCP 서버 구현:
- 5개 도구: inspect_page, inspect_site, get_inspection, get_issues, get_history
- 듀얼 트랜스포트: stdio (Claude Desktop) + Streamable HTTP (Docker/원격)
- i18n 지원 (영어/한국어)
- Docker 통합 (port 3100) + Nginx /mcp 프록시
- Smithery 레지스트리 배포 설정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 15:44:35 +09:00

109 lines
2.4 KiB
YAML

services:
# ===================
# Infrastructure
# ===================
mongodb:
image: mongo:7.0
container_name: web-inspector-mongodb
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER:-admin}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD:-password123}
ports:
- "${MONGO_PORT:-27022}:27017"
volumes:
- mongodb_data:/data/db
networks:
- app-network
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 30s
timeout: 10s
retries: 3
redis:
image: redis:7-alpine
container_name: web-inspector-redis
restart: unless-stopped
ports:
- "${REDIS_PORT:-6392}:6379"
volumes:
- redis_data:/data
networks:
- app-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 3
# ===================
# Backend
# ===================
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: web-inspector-backend
restart: unless-stopped
ports:
- "${BACKEND_PORT:-8011}:8000"
environment:
- MONGODB_URL=mongodb://${MONGO_USER:-admin}:${MONGO_PASSWORD:-password123}@mongodb:27017/
- DB_NAME=${DB_NAME:-web_inspector}
- REDIS_URL=redis://redis:6379
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
networks:
- app-network
# ===================
# Frontend
# ===================
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: web-inspector-frontend
restart: unless-stopped
ports:
- "${FRONTEND_PORT:-3011}:3000"
environment:
- NEXT_PUBLIC_API_URL=
depends_on:
- backend
networks:
- app-network
# ===================
# MCP Server
# ===================
mcp:
build:
context: ./mcp
dockerfile: Dockerfile
container_name: web-inspector-mcp
restart: unless-stopped
ports:
- "${MCP_PORT:-3100}:3100"
environment:
- TRANSPORT=http
- API_URL=http://backend:8000
- PORT=3100
- LANGUAGE=${MCP_LANGUAGE:-en}
depends_on:
- backend
networks:
- app-network
volumes:
mongodb_data:
redis_data:
networks:
app-network:
driver: bridge