- 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)
6.1 KiB
6.1 KiB
🚀 Інструкції для Deployment DAGI Router та Swapper Service на НОДА1
Дата: 2026-01-11
Нода: NODE1 (Hetzner GEX44 - 144.76.224.179)
Статус: Готово до deployment
📋 Передумови
- ✅ SSH доступ до НОДА1 (
ssh root@144.76.224.179) - ✅ Docker та Docker Compose встановлені
- ✅ Проєкт знаходиться в
/opt/microdao-daarion - ✅ 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. Потрібно додати або оновити секції для:
- DAGI Router (порт 9102)
- 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