Skip to main content
Glama
docker_run.sh4.74 kB
#!/bin/bash # Docker Compose로 전체 시스템 실행 스크립트 echo "=== TTimes Guide Coding Docker 실행 ===" echo "" # 스크립트 디렉토리에서 프로젝트 루트로 이동 cd "$(dirname "$0")/.." # 환경 변수 파일 확인 if [ ! -f .env ]; then echo "⚠️ .env 파일이 없습니다. .env.example을 복사합니다..." cp .env.example .env echo "✅ .env 파일이 생성되었습니다. API 키를 설정해주세요." echo "" fi # 실행 옵션 선택 echo "실행 모드를 선택하세요:" echo "1. 전체 시스템 시작 (build + up)" echo "2. 백그라운드로 시작 (build + up -d)" echo "3. 로그 확인 (logs -f)" echo "4. 시스템 중지 (down)" echo "5. 시스템 완전 삭제 (down -v)" echo "6. 개별 서비스 재시작" echo "7. 헬스체크 상태 확인" echo "" read -p "선택 (1-7): " choice case $choice in 1) echo "\n전체 시스템을 빌드하고 시작합니다..." docker compose build docker compose up ;; 2) echo "\n전체 시스템을 백그라운드로 시작합니다..." docker compose build docker compose up -d echo "\n시스템이 시작되었습니다." echo "" echo "접속 URL:" echo "- UnifiedResearch Agent API: http://localhost:8000" echo "- Planning Agent: http://localhost:8003" echo "- Research Agent: http://localhost:8001" echo "- Report Writing Agent: http://localhost:8004" echo "- MCP Server: http://localhost:8090" echo "- LangConnect: http://localhost:8080" echo "" echo "로그 확인: docker compose logs -f [service_name]" ;; 3) echo "\n서비스 이름 (전체는 Enter):" echo "가능한 서비스: postgres, redis, langconnect, mcp-server," echo " planning-agent, research-agent, report-writing-agent," echo " unified-research-agent" read -p "> " service if [ -z "$service" ]; then docker compose logs -f else docker compose logs -f $service fi ;; 4) echo "\n시스템을 중지합니다..." docker compose down ;; 5) echo "\n⚠️ 경고: 모든 데이터가 삭제됩니다!" read -p "정말로 삭제하시겠습니까? (y/N): " confirm if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then docker compose down -v echo "시스템과 데이터가 완전히 삭제되었습니다." else echo "취소되었습니다." fi ;; 6) echo "\n재시작할 서비스를 선택하세요:" echo "1. postgres" echo "2. redis" echo "3. langconnect" echo "4. mcp-server" echo "5. planning-agent" echo "6. research-agent" echo "7. report-writing-agent" echo "8. unified-research-agent" read -p "> " service_num case $service_num in 1) service="postgres" ;; 2) service="redis" ;; 3) service="langconnect" ;; 4) service="mcp-server" ;; 5) service="planning-agent" ;; 6) service="research-agent" ;; 7) service="report-writing-agent" ;; 8) service="unified-research-agent" ;; *) echo "잘못된 선택"; exit 1 ;; esac echo "\n$service 서비스를 재시작합니다..." docker compose restart $service ;; 7) echo "\n=== 헬스체크 상태 확인 ===" echo "" # 각 서비스의 헬스 상태 확인 services=("postgres" "redis" "langconnect" "mcp-server" "planning-agent" "research-agent" "report-writing-agent" "unified-research-agent") for service in "${services[@]}"; do status=$(docker compose ps $service --format json 2>/dev/null | jq -r '.[0].State' 2>/dev/null) health=$(docker compose ps $service --format json 2>/dev/null | jq -r '.[0].Health' 2>/dev/null) if [ -z "$status" ]; then echo "❌ $service: 실행되지 않음" elif [ "$health" == "healthy" ]; then echo "✅ $service: 정상 (healthy)" elif [ "$health" == "unhealthy" ]; then echo "❌ $service: 비정상 (unhealthy)" elif [ "$status" == "running" ]; then echo "⚠️ $service: 실행 중 (헬스체크 없음)" else echo "❓ $service: $status" fi done ;; *) echo "잘못된 선택입니다." exit 1 ;; esac

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HyunjunJeon/vibecoding-lg-mcp-a2a'

If you have feedback or need assistance with the MCP directory API, please join our Discord server