#!/bin/bash # AITBC Services Deployment to Incus Container # This script deploys all AITBC services to the 'aitbc' container set -e CONTAINER_NAME="aitbc" CONTAINER_IP="10.1.223.93" PROJECT_DIR="/home/oib/windsurf/aitbc" echo "🚀 Deploying AITBC services to container: $CONTAINER_NAME" echo "Container IP: $CONTAINER_IP" echo "" # Colors for output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Function to print colored output print_status() { echo -e "${GREEN}[INFO]${NC} $1" } print_warning() { echo -e "${YELLOW}[WARN]${NC} $1" } print_error() { echo -e "${RED}[ERROR]${NC} $1" } # Stop local services print_status "Stopping local AITBC services..." sudo fuser -k 8000/tcp 2>/dev/null || true sudo fuser -k 9080/tcp 2>/dev/null || true sudo fuser -k 3001/tcp 2>/dev/null || true sudo fuser -k 3002/tcp 2>/dev/null || true pkill -f "aitbc_chain.app" 2>/dev/null || true pkill -f "marketplace-ui" 2>/dev/null || true pkill -f "trade-exchange" 2>/dev/null || true # Copy project to container print_status "Copying AITBC project to container..." incus file push -r $PROJECT_DIR $CONTAINER_NAME/home/oib/ # Setup container environment print_status "Setting up container environment..." incus exec $CONTAINER_NAME -- bash -c " cd /home/oib/aitbc python -m venv .venv source .venv/bin/activate pip install --upgrade pip " # Install dependencies for each service print_status "Installing dependencies..." # Coordinator API print_status "Installing Coordinator API dependencies..." incus exec $CONTAINER_NAME -- bash -c " cd /home/oib/aitbc/apps/coordinator-api source ../.venv/bin/activate pip install -e . pip install fastapi uvicorn " # Blockchain Node print_status "Installing Blockchain Node dependencies..." incus exec $CONTAINER_NAME -- bash -c " cd /home/oib/aitbc/apps/blockchain-node source ../.venv/bin/activate pip install -e . pip install fastapi uvicorn " # Create systemd service files print_status "Creating systemd services..." # Coordinator API service incus exec $CONTAINER_NAME -- tee /etc/systemd/system/aitbc-coordinator.service > /dev/null < /dev/null < /dev/null < /dev/null < /dev/null <