Поднята версия до 0.0.2 (VERSION, .env.example, docker-compose дефолт). Добавлен CHANGELOG.md с описанием изменений 0.0.1 → 0.0.2: харденинг безопасности (порты на loopback, redis requirepass), перенос конфигов деплоя в репозиторий (TLS-443, шаблоны, --env-file), fail-fast install.sh, руководство docs/deploy/DEPLOYMENT.md.
4.5 KiB
4.5 KiB
Изменения
Формат основан на Keep a Changelog, проект придерживается семантического версионирования.
0.0.2 — 2026-07-26
Релиз воспроизводимого боевого развёртывания: конфигурация деплоя перенесена в репозиторий как источник истины, устранён инцидент безопасности, добавлена пошаговая инструкция для девопсов.
Безопасность
postgresиredisсняты с публикации на0.0.0.0и привязаны к127.0.0.1(docker писал DNAT в обходufw, порты были открыты в интернет).- Порты
backend,livekit-signaling,prometheus,grafana,llmтакже переведены на loopback — наружу остаются только80/443/7881(+ UDP54000-54100). - Для
redisвключена обязательная аутентификация (--requirepass); пароль проброшен во всех потребителей (backend, worker, exporter, livekit, egress).
Развёртывание и инфраструктура
nginx/coturn/livekit: TLS на 443, http→https редирект, ACME-webroot; конфиги вынесены в*.templateи рендерятся черезdeploy/render-templates.sh(envsubst). Секреты — только из.env, обязательны (${VAR:?}), без небезопасных дефолтов.--env-file .envдобавлен во все вызовыdocker compose(без него compose не подхватывал корневой.envи брал dev-дефолты — корень бага «конференции не работают у других» иWARN: LIVEKIT_API_KEY not set).- Мониторинг развязан от опционального LLM:
job=llm/алертLlmDownзакомментированы для профилей безllm/llm-gpu. install.sh: fail-fast валидация — установка останавливается с понятной ошибкой, если на боевом домене остались dev-плейсхолдеры (example.com,ws://localhost,devkeyи т.п.), вместо тихого подъёма нерабочего прода.install.sh: флаг--monitoring(Grafana/Prometheus раньше не поднимались ни в одном пресете)..env.exampleпокрывает все параметры деплоя; дефолтные профили —media,monitoring.
Исправления
nginx:/openapi.jsonбольше не перехватывается SPA-фолбэком, а отдаётся схемой backend.- Предупреждение в
.env.example:LIVEKIT_PUBLIC_URLв HTTPS-проде обязан бытьwss://.
Документация
- Добавлено
docs/deploy/DEPLOYMENT.md— полное руководство от голой Ubuntu 24 до рабочегоhttps://<домен>: SSL,.env, профили, траблшутинг, доступ к мониторингу через ssh-туннель, описание панелей, runbook включения транскрибации/суммаризации. Ссылки добавлены вREADME.md. docs/deploy/install.md: задокументирован флаг--monitoring.
Примечания по эксплуатации
- На боевом сервере исправлен certbot deploy-hook (
nginx -s reload→restart): без этого после автопродления сертификата nginx продолжал бы отдавать старый. - TURN-раздача клиентам (
rtc.turn_servers+ TURN/TLS на 443) остаётся опциональной — кросс-сетевое медиа проверено вживую и работает без неё; нужна только для экстремального NAT (CGNAT/жёсткий корпоративный firewall).
0.0.1
Первоначальная версия VidConf.