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

251 lines
6.1 KiB
Markdown
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.
# 🚀 Інструкції для 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
```bash
ssh root@144.76.224.179
cd /opt/microdao-daarion
```
---
## 🔧 Крок 2: Оновлення коду з репозиторію
```bash
# Перевірити поточну гілку
git status
# Оновити з GitHub
git pull origin main
# Або з Gitea/GitLab
git pull gitea main
```
---
## 🔧 Крок 3: Перевірка поточного стану
```bash
# Перевірити запущені контейнери
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:
```yaml
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:
```yaml
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: Перевірка залежностей
Переконайтеся, що наступні сервіси запущені:
```bash
# NATS (для Router)
docker ps | grep nats
# Ollama (для Swapper)
docker ps | grep ollama
# Якщо немає - запустити
docker compose up -d nats ollama
```
---
## 🔧 Крок 6: Запуск Router та Swapper
```bash
# Запустити обидва сервіси
docker compose up -d dagi-router swapper-service
# Або якщо вони вже є в docker-compose.yml
docker compose up -d
```
---
## 🔧 Крок 7: Перевірка статусу
```bash
# Перевірити статус контейнерів
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: Перевірка інтеграції
```bash
# Перевірити 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 не запускається
```bash
# Перевірити логи
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
```bash
# Перевірити логи
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
```
### Порти зайняті
```bash
# Перевірити які процеси використовують порти
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