diff --git a/health-check.sh b/health-check.sh new file mode 100755 index 00000000..b91d9f8e --- /dev/null +++ b/health-check.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +# AITBC Health Check Script + +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' + +check_service() { + local name=$1 + local url=$2 + local expected=${3:-200} + + if curl -s -o /dev/null -w "%{http_code}" "$url" | grep -q "$expected"; then + echo -e "${GREEN}✓${NC} $name is healthy" + return 0 + else + echo -e "${RED}✗${NC} $name is unhealthy" + return 1 + fi +} + +echo "AITBC Service Health Check" +echo "========================" + +# Core Services (8000-8009) +echo "" +echo "🔧 Core Services (8000-8009):" +check_service "Coordinator API" "http://localhost:8000/health" +check_service "Exchange API" "http://localhost:8001/api/health" +check_service "Marketplace API" "http://localhost:8002/health" +check_service "Wallet API" "http://localhost:8003/health" +check_service "Explorer" "http://localhost:8004/health" +check_service "Web UI" "http://localhost:8007/health" + +# Check blockchain node and RPC +echo "" +echo "⛓️ Blockchain Services:" +if systemctl is-active --quiet aitbc-blockchain-node.service; then + echo -e "${GREEN}✓${NC} Blockchain Node is running" +else + echo -e "${RED}✗${NC} Blockchain Node is not running" +fi + +if systemctl is-active --quiet aitbc-blockchain-rpc.service; then + echo -e "${GREEN}✓${NC} Blockchain RPC (port 8006) is running" +else + echo -e "${RED}✗${NC} Blockchain RPC (port 8006) is not running" +fi + +# AI/Agent/GPU Services (8010-8019) +echo "" +echo "🚀 AI/Agent/GPU Services (8010-8019):" +check_service "GPU Service" "http://localhost:8010/health" +check_service "Learning Service" "http://localhost:8011/health" +check_service "Agent Coordinator" "http://localhost:8012/health" +check_service "Agent Registry" "http://localhost:8013/health" +check_service "OpenClaw Service" "http://localhost:8014/health" +check_service "AI Service" "http://localhost:8015/health" + +# Other Services (8020-8029) +echo "" +echo "📊 Other Services (8020-8029):" +check_service "Multimodal Service" "http://localhost:8020/health" +check_service "Modality Optimization" "http://localhost:8021/health" + +# Check process status +echo "" +echo "Process Status:" +ps aux | grep -E "simple_daemon|uvicorn|simple_exchange_api" | grep -v grep | while read line; do + echo -e "${GREEN}✓${NC} $line" +done diff --git a/setup.sh b/setup.sh index 5a725425..8e06447b 100755 --- a/setup.sh +++ b/setup.sh @@ -68,15 +68,15 @@ check_prerequisites() { clone_repo() { log "Cloning AITBC repository..." - # Remove existing installation if present - if [ -d "/opt/aitbc" ]; then - warning "Removing existing /opt/aitbc" - rm -rf /opt/aitbc + # Check if repository already exists + if [ -d "/opt/aitbc/.git" ]; then + success "AITBC repository already exists, skipping clone" + return 0 fi # Clone repository cd /opt - git clone https://github.com/aitbc/aitbc.git aitbc || error "Failed to clone repository" + git clone http://gitea.bubuit.net:3000/oib/aitbc.git aitbc || error "Failed to clone repository" cd /opt/aitbc success "Repository cloned successfully" diff --git a/systemd/aitbc-coordinator-api.service b/systemd/aitbc-coordinator-api.service index ba4e87b0..b4e1d16b 100644 --- a/systemd/aitbc-coordinator-api.service +++ b/systemd/aitbc-coordinator-api.service @@ -5,9 +5,9 @@ After=network.target [Service] Type=simple User=root -WorkingDirectory=/home/oib/aitbc/apps/coordinator-api -Environment=PYTHONPATH=/home/oib/aitbc/apps/coordinator-api/src:/opt/aitbc/packages/py/aitbc-sdk/src:/opt/aitbc/packages/py/aitbc-crypto/src -ExecStart=/opt/aitbc/venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 +WorkingDirectory=/opt/aitbc/apps/coordinator-api/src +Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src:/opt/aitbc/packages/py/aitbc-sdk/src:/opt/aitbc/packages/py/aitbc-crypto/src +ExecStart=/opt/aitbc/venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8000 Restart=always RestartSec=5 StandardOutput=journal