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

4.5 KiB
Raw Blame History

Изменения

Формат основан на 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 (+ 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 reloadrestart): без этого после автопродления сертификата nginx продолжал бы отдавать старый.
  • TURN-раздача клиентам (rtc.turn_servers + TURN/TLS на 443) остаётся опциональной — кросс-сетевое медиа проверено вживую и работает без неё; нужна только для экстремального NAT (CGNAT/жёсткий корпоративный firewall).

0.0.1

Первоначальная версия VidConf.