Files
microdao-daarion/scripts/deploy-router-swapper-node3.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

117 lines
5.0 KiB
Bash
Executable File
Raw Permalink 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 на НОДА3
# Використання: ./scripts/deploy-router-swapper-node3.sh
set -e
NODE3_IP="80.77.35.151"
NODE3_USER="zevs"
NODE3_PORT="33147"
PROJECT_ROOT="~/microdao-daarion"
GIT_REPO_SSH="git@github.com:IvanTytar/microdao-daarion.git"
GIT_REPO_HTTPS="https://github.com/IvanTytar/microdao-daarion.git"
echo "🚀 Deployment DAGI Router та Swapper Service на НОДА3"
echo "=================================================="
echo ""
# Перевірка SSH доступу
echo "📡 Перевірка SSH доступу до НОДА3..."
if ! ssh -o ConnectTimeout=5 -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "echo 'SSH OK'" 2>/dev/null; then
echo "❌ Помилка: Неможливо підключитися до НОДА3"
echo " Перевірте SSH ключі або пароль"
exit 1
fi
echo "✅ SSH доступ працює"
echo ""
# Перевірка Docker Compose
echo "🐳 Перевірка Docker Compose на НОДА3..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "docker --version && docker compose version" || {
echo "❌ Помилка: Docker Compose не встановлено на НОДА3"
exit 1
}
echo "✅ Docker Compose встановлено"
echo ""
# Перевірка/створення директорії проєкту
echo "📁 Перевірка проєкту на НОДА3..."
if ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "test -d ${PROJECT_ROOT}" 2>/dev/null; then
echo "✅ Проєкт знайдено, оновлюємо..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "cd ${PROJECT_ROOT} && git pull origin main || echo '⚠️ Git pull не вдався'"
else
echo "📥 Клонуємо проєкт..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "cd ~ && \
(git clone ${GIT_REPO_SSH} microdao-daarion 2>/dev/null || \
git clone ${GIT_REPO_HTTPS} microdao-daarion) || \
echo '⚠️ Git clone не вдався'"
fi
echo ""
# Перевірка docker-compose.node3.yml
echo "📋 Перевірка docker-compose.node3.yml..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "cd ${PROJECT_ROOT} && test -f docker-compose.node3.yml" || {
echo "❌ Помилка: docker-compose.node3.yml не знайдено"
echo " Переконайтеся, що проєкт клоновано правильно"
exit 1
}
echo "✅ docker-compose.node3.yml знайдено"
echo ""
# Перевірка конфігурацій
echo "⚙️ Перевірка конфігурацій..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "cd ${PROJECT_ROOT} && \
test -f services/router/router_config.yaml && \
test -f services/swapper-service/config/swapper_config_node3.yaml" || {
echo "❌ Помилка: Конфігураційні файли не знайдено"
exit 1
}
echo "✅ Конфігурації знайдено"
echo ""
# Перевірка/створення Docker network
echo "🔗 Перевірка Docker network..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "docker network inspect dagi-network >/dev/null 2>&1 || docker network create dagi-network"
echo "✅ Docker network готово"
echo ""
# Перевірка Ollama
echo "🤖 Перевірка Ollama..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "docker ps | grep -q ollama || echo '⚠️ Ollama не запущений (можливо потрібно запустити окремо)'"
echo ""
# Запуск Router та Swapper через Docker Compose
echo "🚀 Запуск DAGI Router та Swapper Service через Docker Compose..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "cd ${PROJECT_ROOT} && \
docker compose -f docker-compose.node3.yml up -d --build 2>&1" || {
echo "⚠️ Попередження: Можливо є помилки при запуску"
echo " Перевірте логи: docker compose -f docker-compose.node3.yml logs"
}
echo ""
# Очікування запуску
echo "⏳ Очікування запуску сервісів (15 секунд)..."
sleep 15
# Перевірка статусу
echo "📊 Перевірка статусу сервісів..."
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "cd ${PROJECT_ROOT} && \
docker compose -f docker-compose.node3.yml ps"
echo ""
# Health checks
echo "🏥 Health checks..."
echo "Router:"
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "curl -s http://localhost:9102/health || echo '❌ Router недоступний'"
echo ""
echo "Swapper:"
ssh -p ${NODE3_PORT} ${NODE3_USER}@${NODE3_IP} "curl -s http://localhost:8890/health || echo '❌ Swapper недоступний'"
echo ""
echo "✅ Deployment завершено!"
echo ""
echo "📝 Наступні кроки:"
echo " 1. Перевірте логи: docker compose -f docker-compose.node3.yml logs"
echo " 2. Перевірте інтеграцію: curl http://localhost:9102/providers"
echo " 3. Перевірте моделі: curl http://localhost:8890/models"