Files
microdao-daarion/DEPLOY-NOW.md
Apple 16630acf0e feat: add memory-service and postgres for Helion agent
- Add PostgreSQL database in docker-compose.yml
- Add memory-service with health checks
- Create database schema (init.sql) with user_facts, dialog_summaries, agent_memory_events
- Add deployment documentation (DEPLOY-NOW.md)
- Add status reports and troubleshooting guides
2025-11-16 12:52:23 -08:00

8.8 KiB
Raw Blame History

🚀 Інструкція для деплою Helion на сервер ЗАРАЗ

Сервер: 144.76.224.179
Домен: gateway.daarion.city
Telegram токен: 8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM


Що готово локально

  • docker-compose.yml (додано postgres + memory-service)
  • services/memory-service/init.sql (схема БД)
  • .env (додано змінні для memory service)
  • gateway-bot/helion_prompt.txt (system prompt)
  • scripts/setup-nginx-gateway.sh (HTTPS setup)
  • scripts/register-agent-webhook.sh (webhook registration)

📝 Крок 1: Закомітити і запушити

cd /Users/apple/github-projects/microdao-daarion

# Додати нові файли
git add docker-compose.yml
git add .env
git add services/memory-service/init.sql
git add STATUS-HELION.md
git add README-HELION-PROBLEMS.md
git add DEPLOY-NOW.md

# Закомітити
git commit -m "feat: add memory-service and postgres for Helion agent

- Add PostgreSQL database for memory service
- Add memory-service in docker-compose.yml
- Add database schema (init.sql)
- Update .env with memory service configuration
- Add documentation for Helion deployment"

# Запушити
git push origin main

📝 Крок 2: Налаштувати DNS (якщо ще не зроблено)

  1. Зайти в панель управління DNS (Cloudflare / Hetzner / інше)

  2. Створити A запис:

    • Name: gateway.daarion.city
    • Type: A
    • Value: 144.76.224.179
    • TTL: 300 секунд
  3. Перевірити (може зайняти 1-5 хвилин):

dig gateway.daarion.city +short
# Має вивести: 144.76.224.179

📝 Крок 3: Підключитися до сервера

ssh root@144.76.224.179

📝 Крок 4: Перевірити встановлено Docker (на сервері)

# Перевірити Docker
docker --version

# Якщо НЕ встановлено:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

# Перевірити Docker Compose
docker-compose --version

# Якщо НЕ встановлено:
apt-get update
apt-get install -y docker-compose

📝 Крок 5: Клонувати/оновити репозиторій (на сервері)

Варіант А: Якщо репозиторій ще НЕ клонований

cd /opt
git clone https://github.com/IvanTytar/microdao-daarion.git
cd microdao-daarion

Варіант Б: Якщо репозиторій вже є

cd /opt/microdao-daarion  # або де знаходиться репозиторій
git pull origin main

📝 Крок 6: Налаштувати .env (на сервері)

# Перевірити чи є .env
ls -la .env

# Якщо НЕ існує - створити з локального
# (на Mac скопіювати .env на сервер через scp)

# Або створити вручну:
nano .env

Мінімально необхідні змінні:

# Helion
HELION_TELEGRAM_BOT_TOKEN=8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM
HELION_NAME=Helion
HELION_PROMPT_PATH=./gateway-bot/helion_prompt.txt

# Memory
MEMORY_SERVICE_URL=http://memory-service:8000
MEMORY_DATABASE_URL=postgresql://postgres:postgres@postgres:5432/daarion_memory

# PostgreSQL
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=daarion_memory

# Ollama (якщо є локально на сервері)
OLLAMA_BASE_URL=http://host.docker.internal:11434
OLLAMA_MODEL=qwen3:8b

📝 Крок 7: Запустити стек (на сервері)

# Створити директорії
mkdir -p logs data/rbac

# Запустити всі сервіси
docker-compose up -d

# Переглянути статус
docker-compose ps

# Очікувані контейнери:
# - dagi-router (9102) - UP
# - dagi-gateway (9300) - UP
# - dagi-postgres (5432) - UP
# - dagi-memory-service (8000) - UP
# - dagi-devtools (8008) - UP
# - dagi-crewai (9010) - UP
# - dagi-rbac (9200) - UP
# - dagi-rag-service (9500) - UP або Restarting (OK якщо немає city-db)

📝 Крок 8: Перевірити health endpoints (на сервері)

# Gateway
curl http://localhost:9300/health
# Має вивести: {"status": "healthy", "agents": {...}}

# Memory Service
curl http://localhost:8000/health
# Має вивести: {"status": "healthy", "service": "memory-service"}

# Router
curl http://localhost:9102/health

# PostgreSQL
docker exec -it dagi-postgres psql -U postgres -c "\l"
# Має показати базу даних "daarion_memory"

Якщо щось не працює:

# Переглянути логи
docker-compose logs -f gateway
docker-compose logs -f memory-service
docker-compose logs -f postgres

# Перезапустити
docker-compose restart gateway memory-service

📝 Крок 9: Налаштувати HTTPS Gateway (на сервері)

# Встановити certbot якщо немає
apt-get update
apt-get install -y certbot

# Запустити скрипт налаштування HTTPS
sudo ./scripts/setup-nginx-gateway.sh gateway.daarion.city admin@daarion.city

# Скрипт автоматично:
# - Отримає SSL сертифікат від Let's Encrypt
# - Налаштує nginx reverse proxy
# - Запустить nginx в Docker контейнері
# - Налаштує auto-renewal сертифікатів

# Перевірити HTTPS
curl https://gateway.daarion.city/health

📝 Крок 10: Зареєструвати Telegram Webhook (на сервері)

# Зареєструвати webhook
./scripts/register-agent-webhook.sh \
  helion \
  8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM \
  gateway.daarion.city

# Перевірити webhook
curl "https://api.telegram.org/bot8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM/getWebhookInfo"

# Має показати:
# {
#   "ok": true,
#   "result": {
#     "url": "https://gateway.daarion.city/helion/telegram/webhook",
#     "has_custom_certificate": false,
#     "pending_update_count": 0
#   }
# }

📝 Крок 11: Тестувати бота!

  1. Відкрити бота в Telegram (знайти по username або токену)
  2. Надіслати повідомлення: "Привіт! Що таке EcoMiner?"
  3. Чекати відповідь від Helion

Якщо бот не відповідає:

# На сервері переглянути логи
docker-compose logs -f gateway

# Перевірити webhook
curl "https://api.telegram.org/bot8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM/getWebhookInfo"

# Перевірити nginx
docker logs nginx-gateway

# Restart gateway
docker-compose restart gateway

Checklist

  • Закомітили і запушили зміни
  • DNS налаштовано (gateway.daarion.city → 144.76.224.179)
  • Підключились до сервера через SSH
  • Docker встановлено
  • Репозиторій клоновано/оновлено
  • .env налаштовано з токенами
  • docker-compose up -d виконано
  • Health endpoints працюють (9300, 8000)
  • HTTPS Gateway налаштовано (setup-nginx-gateway.sh)
  • Telegram webhook зареєстровано
  • Бот відповідає в Telegram! 🎉

🆘 Troubleshooting

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

docker-compose logs memory-service
docker-compose logs postgres

# Перезапустити
docker-compose restart postgres memory-service

SSL сертифікат не отримується

# Перевірити DNS
dig gateway.daarion.city +short

# Спробувати вручну
certbot certonly --standalone -d gateway.daarion.city --email admin@daarion.city

Бот не відповідає

# Перевірити логи Gateway
docker-compose logs --tail=50 gateway

# Перевірити чи webhook активний
curl "https://api.telegram.org/bot8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM/getWebhookInfo"

# Видалити webhook і встановити знову
curl -X POST "https://api.telegram.org/bot8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM/deleteWebhook"
./scripts/register-agent-webhook.sh helion 8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM gateway.daarion.city

🎉 Успіх!

Після виконання всіх кроків, Helion має запрацювати в Telegram і відповідати на запитання про Energy Union, EcoMiner, токеноміку тощо!