Files
vidconf/CHANGELOG.md
Max Ronzhin 1f457c2a31
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
release: версия 0.0.2 + CHANGELOG
Поднята версия до 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.
2026-07-26 03:04:19 +03:00

64 lines
4.5 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.
# Изменения
Формат основан на [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