Развёртывание
Порядок установки обоих серверов — systemd или Docker Compose.
Установка через systemd или Docker Compose — один способ на старте, без Kubernetes (обоснование — в Масштабировании).
WEB PORTAL: снаружи внутрь
WAF
Первая линия с интернета: ModSecurity на Nginx или WAF хостера перед
сервером. Настраивается до открытия портала школьникам: правила под
/api/v1/..., логи блокировок в Loki, алерт на всплеск отказов.
Nginx
HTTPS, статика React, прокси /api/v1 на Go. На маршрутах ассистента —
proxy_buffering off и WebSocket-upgrade, SPA fallback на index.html.
Go
Логика портала, пересылка чата на NEURO CORE.
React
Сборка фронтенда, отдаётся через Nginx с кэш-заголовками.
Redis
Кэш LLM, очередь Asynq, WebSocket-сессии.
Мониторинг
Prometheus, Loki, Grafana — см. Мониторинг.
NEURO CORE
Запустить vLLM, MongoDB, Qdrant, NEURO CORE Service, ingest worker и Promtail.
Создать закрытую папку private_knowledge.
MongoDB и Qdrant — только на NEURO CORE. Redis — только на WEB PORTAL. Ingest worker подключается к Redis портала по внутренней сети как consumer.
Проверка после установки
- NEURO CORE недоступен из интернета; MongoDB, Qdrant, vLLM слушают только внутреннюю сеть.
- WAF пишет блокировки в Loki, алерты срабатывают.
GET /v1/healthотвечает порталу; при остановке NEURO CORE портал живёт без чата.- Стрим чата идёт без буферизации до браузера.
Бэкапы
| Что | Политика |
|---|---|
| Резервные копии | Цикл 30 дней, глубина не менее года |
| Аудит-журналы | Архив после 90 дней, хранение один год |
| Qdrant | Snapshot коллекции вместе с бэкапом MongoDB |
Восстановление проверяется регулярно — бэкап без проверки восстановления не считается бэкапом.