#!/usr/bin/env bash # Deploy script: voice-ai backend + updated frontend (nginx + React) set -euo pipefail DEPLOY_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" VOICE_AI_SRC="/root/voice-call-center-ai" FRONTEND_SRC="/tmp/cc-frontend-build" VOICE_AI_IMAGE="voice-call-center-ai:active-aimaq" FRONTEND_IMAGE="omnichannel-contact-center:active-aimaq" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo " Step 1/4 — Build voice-ai Docker image" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" docker build -t "$VOICE_AI_IMAGE" "$VOICE_AI_SRC" echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo " Step 2/4 — Build frontend Docker image (React + nginx)" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" docker build -t "$FRONTEND_IMAGE" "$FRONTEND_SRC" echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo " Step 3/4 — Start voice-ai + restart frontend" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" cd "$DEPLOY_DIR" docker compose -f docker-compose.minimal.yml up -d --force-recreate voice-ai frontend echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo " Step 4/4 — Container status" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" docker compose -f docker-compose.minimal.yml ps voice-ai frontend echo "" echo "✓ Done. Voice AI available via wss://aimaq.konturai.kz/voice-ai/ws" echo "" echo " ⚠ API keys must be set in: $DEPLOY_DIR/.env.voice-ai" echo " OPENAI_API_KEY=..." echo " ELEVENLABS_API_KEY=..."