Files
microdao-daarion/DEPLOYMENT-NODE1-INSTRUCTIONS.md
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

6.1 KiB
Raw Blame History

🚀 Інструкції для Deployment DAGI Router та Swapper Service на НОДА1

Дата: 2026-01-11
Нода: NODE1 (Hetzner GEX44 - 144.76.224.179)
Статус: Готово до deployment


📋 Передумови

  1. SSH доступ до НОДА1 (ssh root@144.76.224.179)
  2. Docker та Docker Compose встановлені
  3. Проєкт знаходиться в /opt/microdao-daarion
  4. Docker network dagi-network існує

🔧 Крок 1: Підключення до НОДА1

ssh root@144.76.224.179
cd /opt/microdao-daarion

🔧 Крок 2: Оновлення коду з репозиторію

# Перевірити поточну гілку
git status

# Оновити з GitHub
git pull origin main

# Або з Gitea/GitLab
git pull gitea main

🔧 Крок 3: Перевірка поточного стану

# Перевірити запущені контейнери
docker ps

# Перевірити docker-compose
docker compose ps

# Перевірити чи існує dagi-network
docker network ls | grep dagi-network

🔧 Крок 4: Додати Router та Swapper до docker-compose.yml

На НОДА1 вже має бути docker-compose.yml. Потрібно додати або оновити секції для:

  1. DAGI Router (порт 9102)
  2. Swapper Service (порт 8890)

Конфігурація DAGI Router для НОДА1:

  dagi-router:
    build:
      context: ./services/router
      dockerfile: Dockerfile
    container_name: dagi-router
    ports:
      - "9102:9102"
    environment:
      - NATS_URL=nats://nats:4222
      - ROUTER_CONFIG_PATH=/app/router_config.yaml
      - LOG_LEVEL=info
    volumes:
      - ./services/router/router_config.yaml:/app/router_config.yaml:ro
    networks:
      - dagi-network
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9102/health"]
      interval: 30s
      timeout: 10s
      retries: 3

Конфігурація Swapper Service для НОДА1:

  swapper-service:
    build:
      context: ./services/swapper-service
      dockerfile: Dockerfile
    container_name: swapper-service
    ports:
      - "8890:8890"
      - "8891:8891"  # Metrics
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - SWAPPER_CONFIG_PATH=/app/config/swapper_config.yaml
      - SWAPPER_MODE=single-active
      - MAX_CONCURRENT_MODELS=1
      - MODEL_SWAP_TIMEOUT=300
    volumes:
      - ./services/swapper-service/config/swapper_config_node1.yaml:/app/config/swapper_config.yaml:ro
      - ./logs:/app/logs
    networks:
      - dagi-network
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- http://localhost:8890/health || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s

🔧 Крок 5: Перевірка залежностей

Переконайтеся, що наступні сервіси запущені:

# NATS (для Router)
docker ps | grep nats

# Ollama (для Swapper)
docker ps | grep ollama

# Якщо немає - запустити
docker compose up -d nats ollama

🔧 Крок 6: Запуск Router та Swapper

# Запустити обидва сервіси
docker compose up -d dagi-router swapper-service

# Або якщо вони вже є в docker-compose.yml
docker compose up -d

🔧 Крок 7: Перевірка статусу

# Перевірити статус контейнерів
docker compose ps dagi-router swapper-service

# Перевірити логи Router
docker compose logs dagi-router --tail 50

# Перевірити логи Swapper
docker compose logs swapper-service --tail 50

# Health checks
curl http://localhost:9102/health  # Router
curl http://localhost:8890/health  # Swapper

🔧 Крок 8: Перевірка інтеграції

# Перевірити Router providers
curl http://localhost:9102/providers

# Перевірити Swapper models
curl http://localhost:8890/models

# Спробувати завантажити модель
curl -X POST http://localhost:8890/models/qwen3-8b/load

🐛 Troubleshooting

Router не запускається

# Перевірити логи
docker compose logs dagi-router

# Перевірити чи NATS доступний
docker compose exec dagi-router ping -c 1 nats

# Перевірити конфігурацію
docker compose exec dagi-router cat /app/router_config.yaml

Swapper не підключається до Ollama

# Перевірити логи
docker compose logs swapper-service

# Перевірити чи Ollama доступний
docker compose exec swapper-service curl http://ollama:11434/api/tags

# Перевірити конфігурацію
docker compose exec swapper-service cat /app/config/swapper_config.yaml

Порти зайняті

# Перевірити які процеси використовують порти
netstat -tulpn | grep 9102
netstat -tulpn | grep 8890

# Зупинити конфліктуючі сервіси
docker compose stop <service-name>

Очікуваний результат

Після успішного deployment:

  • dagi-router контейнер працює на порту 9102
  • swapper-service контейнер працює на порту 8890
  • Health checks повертають {"status": "healthy"}
  • Router має доступ до NATS
  • Swapper має доступ до Ollama
  • Моделі можуть завантажуватися через Swapper

📝 Нотатки

  • Router використовує NATS для маршрутизації повідомлень
  • Swapper використовує Ollama для завантаження моделей
  • Обидва сервіси мають health checks та автоматичний restart
  • Логи зберігаються в ./logs/

Створено: 2026-01-11
Версія: 1.0.0