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)
This commit is contained in:
215
DEPLOYMENT-NODE1-MANUAL.md
Normal file
215
DEPLOYMENT-NODE1-MANUAL.md
Normal file
@@ -0,0 +1,215 @@
|
||||
# 🚀 Інструкції для деплою на НОДА1 (ручний режим)
|
||||
|
||||
**Дата:** 2026-01-11
|
||||
**Статус:** SSH недоступний, потрібно налаштувати вручну
|
||||
|
||||
## 📋 Дані доступу до НОДА1
|
||||
|
||||
- **IPv4 Address:** 144.76.224.179
|
||||
- **IPv6 Address:** 2a01:4f8:201:2a6::2
|
||||
- **Username:** root
|
||||
- **Password:** bRhfV7uNY9m6er
|
||||
- **SSH Port:** 22 (потрібно перевірити/налаштувати)
|
||||
|
||||
### Host Keys (для перевірки):
|
||||
- **RSA 3072:** OzbVMM7CC4SatdE2CSoxh5qgJdCyYO22MLjchXXBIro
|
||||
- **ECDSA 256:** YPQUigtDm3HiEp4MYYeREE+M3ig/2CrZXy2ozr4OWQw
|
||||
- **ED25519 256:** 79LG0tKQ1B1DsdVZ/BhLYSX2v08eCWqqWihHtn+Y8FU
|
||||
|
||||
## ⚠️ Поточна проблема
|
||||
|
||||
SSH на порту 22 відмовляє (`Connection refused`). Можливі причини:
|
||||
1. SSH сервіс не запущений
|
||||
2. Firewall блокує порт 22
|
||||
3. SSH налаштований на інший порт
|
||||
|
||||
## 🔧 Кроки для налаштування SSH
|
||||
|
||||
### 1. Доступ через Hetzner Console
|
||||
|
||||
Якщо SSH недоступний, використайте Hetzner Cloud Console:
|
||||
1. Увійдіть в Hetzner Cloud панель
|
||||
2. Знайдіть сервер GEX44 (#2844465)
|
||||
3. Відкрийте Console (VNC/NoVNC)
|
||||
|
||||
### 2. Перевірка та запуск SSH
|
||||
|
||||
```bash
|
||||
# Перевірка статусу SSH
|
||||
systemctl status ssh
|
||||
systemctl status sshd
|
||||
|
||||
# Запуск SSH (якщо не запущений)
|
||||
systemctl start ssh
|
||||
systemctl enable ssh
|
||||
|
||||
# Перевірка порту
|
||||
ss -tlnp | grep :22
|
||||
netstat -tlnp | grep :22
|
||||
|
||||
# Перевірка firewall
|
||||
ufw status
|
||||
iptables -L -n | grep 22
|
||||
```
|
||||
|
||||
### 3. Налаштування SSH (якщо потрібно)
|
||||
|
||||
```bash
|
||||
# Редагування конфігурації SSH
|
||||
nano /etc/ssh/sshd_config
|
||||
|
||||
# Переконайтеся що:
|
||||
# Port 22
|
||||
# PermitRootLogin yes (або через ключ)
|
||||
# PasswordAuthentication yes
|
||||
|
||||
# Перезапуск SSH
|
||||
systemctl restart ssh
|
||||
```
|
||||
|
||||
### 4. Налаштування Firewall
|
||||
|
||||
```bash
|
||||
# Дозволити SSH через UFW
|
||||
ufw allow 22/tcp
|
||||
ufw reload
|
||||
|
||||
# Або через iptables
|
||||
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
||||
```
|
||||
|
||||
## 📥 Після налаштування SSH - Деплой
|
||||
|
||||
### Крок 1: Підключення
|
||||
|
||||
```bash
|
||||
ssh root@144.76.224.179
|
||||
# Введіть пароль: bRhfV7uNY9m6er
|
||||
```
|
||||
|
||||
### Крок 2: Перевірка проєкту
|
||||
|
||||
```bash
|
||||
cd /opt/microdao-daarion
|
||||
pwd
|
||||
git status
|
||||
```
|
||||
|
||||
Якщо проєкт не існує:
|
||||
```bash
|
||||
mkdir -p /opt
|
||||
cd /opt
|
||||
git clone git@github.com:IvanTytar/microdao-daarion.git
|
||||
# або через HTTPS
|
||||
git clone https://github.com/IvanTytar/microdao-daarion.git
|
||||
cd microdao-daarion
|
||||
```
|
||||
|
||||
### Крок 3: Оновлення коду
|
||||
|
||||
```bash
|
||||
cd /opt/microdao-daarion
|
||||
git pull origin main
|
||||
```
|
||||
|
||||
### Крок 4: Перевірка конфігурацій
|
||||
|
||||
```bash
|
||||
# Перевірка наявності конфігурацій
|
||||
ls -la services/router/router_config.yaml
|
||||
ls -la services/swapper-service/config/swapper_config_node1.yaml
|
||||
ls -la docker-compose.yml
|
||||
```
|
||||
|
||||
### Крок 5: Запуск через Docker Compose
|
||||
|
||||
```bash
|
||||
cd /opt/microdao-daarion
|
||||
|
||||
# Перевірка Docker network
|
||||
docker network inspect dagi-network || docker network create dagi-network
|
||||
|
||||
# Запуск Router та Swapper
|
||||
docker compose up -d dagi-router swapper-service
|
||||
|
||||
# Перевірка статусу
|
||||
docker compose ps dagi-router swapper-service
|
||||
|
||||
# Health checks
|
||||
curl http://localhost:9102/health
|
||||
curl http://localhost:8890/health
|
||||
```
|
||||
|
||||
### Крок 6: Перевірка логів
|
||||
|
||||
```bash
|
||||
docker compose logs dagi-router --tail 50
|
||||
docker compose logs swapper-service --tail 50
|
||||
```
|
||||
|
||||
## 🔄 Альтернатива: Kubernetes Deployment
|
||||
|
||||
Якщо на НОДА1 використовується Kubernetes:
|
||||
|
||||
```bash
|
||||
# Створення namespace
|
||||
kubectl create namespace daarion
|
||||
|
||||
# Деплой Router
|
||||
kubectl apply -f infrastructure/deployment/dagi-router-node1.yaml
|
||||
|
||||
# Деплой Swapper
|
||||
kubectl apply -f infrastructure/deployment/swapper-service-node1.yaml
|
||||
|
||||
# Перевірка
|
||||
kubectl get pods -n daarion
|
||||
kubectl logs -n daarion -l app=dagi-router
|
||||
kubectl logs -n daarion -l app=swapper-service
|
||||
```
|
||||
|
||||
## 📝 Автоматичний скрипт
|
||||
|
||||
Після налаштування SSH можна використати автоматичний скрипт:
|
||||
|
||||
```bash
|
||||
# З локальної машини
|
||||
cd /Users/apple/github-projects/microdao-daarion
|
||||
./scripts/deploy-router-swapper-node1.sh
|
||||
```
|
||||
|
||||
## ✅ Перевірка працездатності
|
||||
|
||||
```bash
|
||||
# Router
|
||||
curl http://localhost:9102/health
|
||||
curl http://localhost:9102/providers
|
||||
|
||||
# Swapper
|
||||
curl http://localhost:8890/health
|
||||
curl http://localhost:8890/models
|
||||
```
|
||||
|
||||
## 🔐 Безпека
|
||||
|
||||
**ВАЖЛИВО:** Після налаштування SSH:
|
||||
1. Налаштуйте SSH ключі замість паролів
|
||||
2. Вимкніть password authentication
|
||||
3. Обмежте доступ до певних IP (якщо можливо)
|
||||
4. Налаштуйте fail2ban
|
||||
|
||||
```bash
|
||||
# Додавання SSH ключа
|
||||
mkdir -p ~/.ssh
|
||||
nano ~/.ssh/authorized_keys
|
||||
# Вставте свій публічний ключ
|
||||
|
||||
# Вимкнення password auth (після налаштування ключів)
|
||||
nano /etc/ssh/sshd_config
|
||||
# PasswordAuthentication no
|
||||
systemctl restart ssh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Оновлено:** 2026-01-11
|
||||
**Автор:** Deployment Automation
|
||||
Reference in New Issue
Block a user