# Изменения Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/), проект придерживается [семантического версионирования](https://semver.org/lang/ru/). ## [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` (+ UDP `54000-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. [0.0.2]: https://github.com/MaxRonzhin/vidconf_rel/releases/tag/v0.0.2 [0.0.1]: https://github.com/MaxRonzhin/vidconf_rel/releases/tag/v0.0.1