Files
microdao-daarion/scripts/deploy-router-swapper-node1.sh
Apple 5290287058 feat: implement TTS, Document processing, and Memory Service /facts API
- TTS: xtts-v2 integration with voice cloning support
- Document: docling integration for PDF/DOCX/PPTX processing
- Memory Service: added /facts/upsert, /facts/{key}, /facts endpoints
- Added required dependencies (TTS, docling)
2026-01-17 08:16:37 -08:00

111 lines
4.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Скрипт для deployment DAGI Router та Swapper Service на НОДА1
# Використання: ./scripts/deploy-router-swapper-node1.sh
set -e
NODE1_IP="144.76.224.179"
NODE1_USER="root"
PROJECT_ROOT="/opt/microdao-daarion"
echo "🚀 Deployment DAGI Router та Swapper Service на НОДА1"
echo "=================================================="
echo ""
# Перевірка SSH доступу
echo "📡 Перевірка SSH доступу до НОДА1..."
if ! ssh -o ConnectTimeout=5 ${NODE1_USER}@${NODE1_IP} "echo 'SSH OK'" 2>/dev/null; then
echo "❌ Помилка: Неможливо підключитися до НОДА1"
echo " Перевірте SSH ключі або пароль"
exit 1
fi
echo "✅ SSH доступ працює"
echo ""
# Перевірка Docker
echo "🐳 Перевірка Docker на НОДА1..."
ssh ${NODE1_USER}@${NODE1_IP} "docker --version && docker compose version" || {
echo "❌ Помилка: Docker не встановлено на НОДА1"
exit 1
}
echo "✅ Docker встановлено"
echo ""
# Перевірка проекту
echo "📁 Перевірка проекту на НОДА1..."
ssh ${NODE1_USER}@${NODE1_IP} "cd ${PROJECT_ROOT} && pwd && git status" || {
echo "❌ Помилка: Проєкт не знайдено в ${PROJECT_ROOT}"
exit 1
}
echo "✅ Проєкт знайдено"
echo ""
# Оновлення коду
echo "🔄 Оновлення коду з репозиторію..."
ssh ${NODE1_USER}@${NODE1_IP} "cd ${PROJECT_ROOT} && git pull origin main" || {
echo "⚠️ Попередження: Не вдалося оновити код (можливо вже актуальний)"
}
echo "✅ Код оновлено"
echo ""
# Перевірка docker-compose.yml
echo "📋 Перевірка docker-compose.yml..."
ssh ${NODE1_USER}@${NODE1_IP} "cd ${PROJECT_ROOT} && test -f docker-compose.yml" || {
echo "❌ Помилка: docker-compose.yml не знайдено"
exit 1
}
echo "✅ docker-compose.yml знайдено"
echo ""
# Перевірка конфігурацій
echo "⚙️ Перевірка конфігурацій..."
ssh ${NODE1_USER}@${NODE1_IP} "cd ${PROJECT_ROOT} && \
test -f services/router/router_config.yaml && \
test -f services/swapper-service/config/swapper_config_node1.yaml" || {
echo "❌ Помилка: Конфігураційні файли не знайдено"
exit 1
}
echo "✅ Конфігурації знайдено"
echo ""
# Перевірка залежностей
echo "🔗 Перевірка залежностей (NATS, Ollama)..."
ssh ${NODE1_USER}@${NODE1_IP} "cd ${PROJECT_ROOT} && \
docker compose ps | grep -E 'nats|ollama' || echo '⚠️ NATS або Ollama не запущені'"
echo ""
# Запуск Router та Swapper
echo "🚀 Запуск DAGI Router та Swapper Service..."
ssh ${NODE1_USER}@${NODE1_IP} "cd ${PROJECT_ROOT} && \
docker compose up -d dagi-router swapper-service 2>&1" || {
echo "⚠️ Попередження: Можливо сервіси вже запущені або мають інші назви"
echo " Перевірте: docker compose ps"
}
echo ""
# Очікування запуску
echo "⏳ Очікування запуску сервісів (10 секунд)..."
sleep 10
# Перевірка статусу
echo "📊 Перевірка статусу сервісів..."
ssh ${NODE1_USER}@${NODE1_IP} "cd ${PROJECT_ROOT} && \
docker compose ps dagi-router swapper-service"
echo ""
# Health checks
echo "🏥 Health checks..."
echo "Router:"
ssh ${NODE1_USER}@${NODE1_IP} "curl -s http://localhost:9102/health || echo '❌ Router недоступний'"
echo ""
echo "Swapper:"
ssh ${NODE1_USER}@${NODE1_IP} "curl -s http://localhost:8890/health || echo '❌ Swapper недоступний'"
echo ""
echo "✅ Deployment завершено!"
echo ""
echo "📝 Наступні кроки:"
echo " 1. Перевірте логи: docker compose logs dagi-router swapper-service"
echo " 2. Перевірте інтеграцію: curl http://localhost:9102/providers"
echo " 3. Перевірте моделі: curl http://localhost:8890/models"