doc: стратегия деплоя — obdai.ru только после стабильного ELM↔Android

This commit is contained in:
“Naeel”
2026-05-27 07:54:16 +03:00
parent f895d9ec7c
commit ae4b3fa1db
+54
View File
@@ -0,0 +1,54 @@
# Сессия 2026-05-27 — домен obdai.ru и стратегия деплоя
## Домен
- `obdai.ru` — куплен, DNS-зона в ngcloud (PowerDNS)
- NS: `ns5.rcloud.ru` / `ns4.rcloud.ru` (у регистратора сменили с reg.ru)
- A-записи: `@`, `www`, `ai`, `test``5.172.178.213`
- Ждём propagation (TTL старой зоны 86400)
## Решение: obdai.ru пока НЕ деплоим
### Причина
Главная задача сейчас — **стабильный обмен ELM327↔Android**. Пока это звено не отлажено на 100%, деплой на ВМ и домен не дают никакой ценности:
- В машине телефон на одном WiFi с ноутбуком — локальный IP быстрее и надёжнее
- Клиент уже принимает URL сервера как параметр — сменить на `obdai.ru` = одна строка
- DNS ещё не пророс
### Порядок приоритетов
1. **Стабильный обмен ELM↔Android** — критический путь, уже выявлено 4+ багов
2. **Fat-client протокол** (скрипт + батч) — обкатать на реальном ELM
3. **Gunicorn + nginx на ВМ** — только после пунктов 1-2
4. **Переключение клиента на `obdai.ru`** — последний шаг, одна строка
### Состояние звена ELM↔Android
| Баг | Статус |
|-----|--------|
| Сервер шлёт команды без пауз → ELM не успевает | ⚠️ не решён |
| `\r` vs `\r\n` → мусор в буфере | ✅ исправлено |
| Deadlock при старте (ELM не шлёт приветствие) | ✅ исправлено (fwd READY) |
| Android блокирует HTTP (cleartext) | ✅ исправлено (usesCleartextTraffic) |
### Архитектура деплоя (в будущем)
```
obdai.ru (95.172.178.213)
├── nginx (reverse proxy + SSL)
│ ├── / → лендинг (статический HTML)
│ ├── /static/app.apk → APK для скачивания
│ └── /api/v1/* → gunicorn (Flask)
│ ├── /script → выдача скрипта диагностики
│ └── /session/upload → приём батча + LLM
└── gunicorn (web/app.py)
├── script_endpoint (fat-client)
└── возможно raw_endpoint (опционально)
```
### Что НЕ переносится на ВМ
- Десктоп-диагностика (`POST /api/diagnose`, `ELM327.elm.py`) — требует Bluetooth на ноутбуке в машине
- Локальный Flask для тестов — остаётся на ноутбуке разработчика