Files
microdao-daarion/MVP_DEPLOY_PACKAGE_READY.md
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- matrix-gateway: POST /internal/matrix/presence/online endpoint
- usePresenceHeartbeat hook with activity tracking
- Auto away after 5 min inactivity
- Offline on page close/visibility change
- Integrated in MatrixChatRoom component
2025-11-27 00:19:40 -08:00

361 lines
9.2 KiB
Markdown
Raw 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.
# 🚀 MVP DEPLOYMENT PACKAGE — READY TO DEPLOY!
**Дата:** 25 листопада 2025
**Статус:** ✅ READY FOR EXECUTION
**Target:** NODE1 (144.76.224.179)
---
## 📦 Що створено:
### 1. **Deployment Script** ⭐
**`scripts/deploy-mvp-node1.sh`**
Автоматизований deployment з 7 фазами:
- Phase 0: Pre-flight checks (git status, push)
- Phase 1: Backup PostgreSQL
- Phase 2: Sync code from GitHub
- Phase 3: Apply migrations (007, 008, 010)
- Phase 4: Build Docker images
- Phase 5: Start services
- Phase 6: Health checks
- Phase 7: Summary
**Використання:**
```bash
cd /Users/apple/github-projects/microdao-daarion
./scripts/deploy-mvp-node1.sh
```
---
### 2. **Rollback Script** 🔄
**`scripts/rollback-mvp-node1.sh`**
Швидкий rollback якщо щось пішло не так:
- Зупиняє MVP сервіси
- Видаляє контейнери
- Опційно відновлює backup БД
**Використання:**
```bash
./scripts/rollback-mvp-node1.sh
```
---
### 3. **Nginx Configuration** 🌐
**`nginx/mvp-routes.conf`**
Ready-to-use Nginx routes для:
- `/api/city/` → City Service (7001)
- `/ws/city/` → City WebSocket
- `/api/secondme/` → Second Me (7003)
- `/api/agents/` → Agents Service (7014)
- `/ws/agents/` → Agents WebSocket
- `/api/microdao/` → MicroDAO Service (7015)
**Manual installation (на NODE1):**
```bash
# 1. Backup existing config
sudo cp /etc/nginx/sites-available/daarion /etc/nginx/sites-available/daarion.backup.$(date +%Y%m%d_%H%M%S)
# 2. Add routes from nginx/mvp-routes.conf to your Nginx config
# 3. Test and reload
sudo nginx -t
sudo systemctl reload nginx
```
---
### 4. **Service Specifications** 📄
**`docs/services/`**
- `AGENTS_SERVICE_SPEC.md` (7014)
- `CITY_SERVICE_SPEC.md` (7001)
- `SECONDME_SERVICE_SPEC.md` (7003)
- `MICRODAO_SERVICE_SPEC.md` (7015)
---
## 🎯 Фінальні Порти (РЕАЛЬНІ з коду):
| Service | Port | Health Check | Notes |
|---------|------|--------------|-------|
| **City** | 7001 | `/health` | Public Rooms, Presence, WebSocket |
| **Second Me** | 7003 | `/health` | Personal AI assistant |
| **Agents** | 7014 | `/health` | Agent Core, invoke/reply |
| **MicroDAO** | 7015 | `/health` | Governance, proposals, voting |
⚠️ **Note:** Порти відрізняються від початкових специфікацій! Використовуємо реальні порти з коду.
---
## ✅ Pre-Deployment Checklist:
**На NODE2 (MacBook):**
- [ ] Всі зміни committed і pushed до GitHub
- [ ] `scripts/deploy-mvp-node1.sh` має executable права
- [ ] `scripts/rollback-mvp-node1.sh` має executable права
**На NODE1 (перевірити перед deployment):**
- [ ] PostgreSQL працює (port 5432)
- [ ] NATS працює (port 4222)
- [ ] Redis працює (port 6379)
- [ ] Є вільне місце (docker images ~2GB)
- [ ] Nginx працює і доступний
---
## 🚀 DEPLOYMENT PROCEDURE:
### **Варіант A: Automatic (Рекомендовано)**
```bash
# На NODE2 (MacBook)
cd /Users/apple/github-projects/microdao-daarion
# Commit changes (if any)
git add .
git commit -m "MVP Phase 1-3: Ready for deployment"
git push origin main
# Run deployment script
./scripts/deploy-mvp-node1.sh
```
**Тривалість:** ~10-15 хвилин
**Що робить:**
- ✅ Автоматичний backup БД
- ✅ Sync коду з GitHub
- ✅ Міграції БД
- ✅ Build Docker images
- ✅ Start сервісів
- ✅ Health checks
---
### **Варіант B: Manual (Step-by-step)**
Якщо хочеш повний контроль:
#### 1. **На NODE2: Commit & Push**
```bash
git add .
git commit -m "MVP Phase 1-3: Ready for deployment"
git push origin main
```
#### 2. **SSH на NODE1**
```bash
ssh root@144.76.224.179
cd /opt/microdao-daarion
```
#### 3. **Backup БД**
```bash
mkdir -p /root/backups
docker exec daarion-postgres pg_dump -U postgres daarion > \
/root/backups/daarion_$(date +%Y%m%d_%H%M%S).sql
```
#### 4. **Sync Code**
```bash
git pull origin main
```
#### 5. **Міграції**
```bash
docker exec -i daarion-postgres psql -U postgres -d daarion < migrations/007_create_agents_tables.sql
docker exec -i daarion-postgres psql -U postgres -d daarion < migrations/008_create_microdao_core.sql
docker exec -i daarion-postgres psql -U postgres -d daarion < migrations/010_create_city_backend.sql
```
#### 6. **Build Images**
```bash
docker build -t daarion-agents-service:latest ./services/agents-service
docker build -t daarion-city-service:latest ./services/city-service
docker build -t daarion-secondme-service:latest ./services/secondme-service
docker build -t daarion-microdao-service:latest ./services/microdao-service
```
#### 7. **Start Services**
```bash
# Create docker-compose.mvp.yml (script creates it automatically)
docker compose -f docker-compose.mvp.yml up -d
```
#### 8. **Health Checks**
```bash
curl http://localhost:7001/health # City
curl http://localhost:7003/health # Second Me
curl http://localhost:7014/health # Agents
curl http://localhost:7015/health # MicroDAO
```
#### 9. **Update Nginx**
```bash
# Add routes from nginx/mvp-routes.conf
sudo vim /etc/nginx/sites-available/daarion
sudo nginx -t
sudo systemctl reload nginx
```
---
## 🧪 SMOKE TESTS:
```bash
# На NODE1 (або локально через SSH tunnel)
# 1. City Service
curl https://gateway.daarion.city/api/city/health
curl https://gateway.daarion.city/api/city/rooms
# 2. Second Me
curl https://gateway.daarion.city/api/secondme/health
# 3. Agents Service
curl https://gateway.daarion.city/api/agents/health
curl https://gateway.daarion.city/api/agents/registry
# 4. MicroDAO Service
curl https://gateway.daarion.city/api/microdao/health
curl https://gateway.daarion.city/api/microdao/
# 5. WebSocket (через wscat або websocat)
wscat -c wss://gateway.daarion.city/ws/city/rooms/general
```
---
## 📊 MONITORING:
### Logs:
```bash
# На NODE1
docker logs -f daarion-city-service
docker logs -f daarion-agents-service
docker logs -f daarion-secondme-service
docker logs -f daarion-microdao-service
# All together
docker compose -f docker-compose.mvp.yml logs -f
```
### Resource Usage:
```bash
docker stats --no-stream | grep daarion
```
### Service Status:
```bash
docker ps | grep -E "agents|city|secondme|microdao"
```
---
## 🚨 ROLLBACK:
Якщо щось пішло не так:
```bash
# Automatic
./scripts/rollback-mvp-node1.sh
# Manual
ssh root@144.76.224.179
cd /opt/microdao-daarion
docker compose -f docker-compose.mvp.yml down
docker rm -f daarion-agents-service daarion-city-service daarion-secondme-service daarion-microdao-service
# Restore DB (if needed)
docker exec -i daarion-postgres psql -U postgres -d daarion < /root/backups/daarion_YYYYMMDD_HHMMSS.sql
```
---
## ⚠️ ВІДОМІ ОБМЕЖЕННЯ:
### 1. **City Service - PostGIS**
Міграція `010_create_city_backend.sql` НЕ містить `regions/areas` таблиць з GEOMETRY.
- Поки що City працює без геопросторових функцій
- Living Map працює з простими JSON координатами
- PostGIS буде додано в Phase 2
### 2. **Second Me - Vector DB**
Код Second Me НЕ інтегрований з Vector DB (port 8898).
- Поки що працює без довгострокової пам'яті
- Тільки short-term memory в PostgreSQL
- Vector DB інтеграція - Phase 2
### 3. **Config Files**
Сервіси очікують config files:
- `configs/AGENT_REGISTRY.yaml`
- `configs/team_definition.yaml`
- `configs/project_bus_config.yaml`
Якщо їх немає — сервіси працюють з defaults.
### 4. **Multimodal**
Multimodal сервіси (STT, OCR, Web Search, Geo-agent) — **Phase 2**.
MVP працює без них.
---
## ✅ SUCCESS CRITERIA:
MVP вважається успішно deployed якщо:
1.Всі 4 сервіси запущені (`docker ps`)
2. ✅ Health checks повертають 200 OK
3. ✅ City Rooms API повертає список кімнат
4. ✅ Agents API повертає registry
5. ✅ Nginx routes працюють (публічні endpoints)
6. ✅ WebSocket з'єднання встановлюються
7. ✅ Немає критичних помилок в логах (перші 15 хв)
8. ✅ Існуючі DAGI сервіси працюють стабільно
---
## 📞 NEXT STEPS (після deployment):
### Phase 2: Multimodal Integration
- Router v2.0 з multimodal API
- STT/OCR/Web Search/Vector DB на NODE1
- Geo-agent для City Service
### Phase 3: Production Hardening
- Monitoring dashboards (Grafana)
- Alerting (Prometheus)
- Log aggregation (Loki)
- Performance tuning
### Phase 4: Matrix Integration
- Matrix Synapse deployment
- Element Web client
- NATS ↔ Matrix bridge
---
## 🎉 READY TO GO!
**Все готово для deployment!**
**Запуск:**
```bash
cd /Users/apple/github-projects/microdao-daarion
./scripts/deploy-mvp-node1.sh
```
**Нехай щастить! 🚀**
---
**Створено:** Cursor AI Assistant
**Проєкт:** MicroDAO DAARION
**Версія:** MVP Phase 1-3
**Дата:** 2025-11-25