Commit Graph

5 Commits

Author SHA1 Message Date
5e42f6d11b deploy: require redis auth (--requirepass) across all consumers
Redis without a password was the root cause of the security incident
(cron miner via unauthenticated replication RCE, see
.forcc/deploy/SESSION2-FINDINGS.md). Loopback binding alone doesn't
protect against a compromised container inside the same compose
network, so wire REDIS_PASSWORD as a required secret everywhere redis
is used: backend/worker/worker-transcriber(-gpu), redis-exporter,
livekit and egress (via rendered templates). docker compose now
refuses to start without it instead of silently running unauthenticated.
2026-07-25 22:59:34 +03:00
d593add0f3 deploy: bind backend/livekit-signaling/monitoring/llm ports to loopback
Close host-published ports that don't need to be reachable from outside
the docker network: nginx already proxies backend/livekit by service
name, and admin UIs (prometheus/grafana) and llm servers should only be
reachable via SSH tunnel. Only 80/443/7881 + the WebRTC UDP range stay
open to the internet.
2026-07-25 22:58:38 +03:00
6dda717ad8 env.example: warn LIVEKIT_PUBLIC_URL must be wss:// in HTTPS prod
The client receives this value as the LiveKit serverUrl (via join.livekit_url).
A ws:// value on an https page is blocked as mixed content, so conferences
never connect — the exact failure hit on vidconf.ru, where the runtime value
had fallen back to the ws://localhost:7880 default. Spell out the prod
requirement (wss://<domain>/livekit/) next to the placeholder.
2026-07-25 22:31:02 +03:00
93e98f445b .env.example: cover new deploy params, sane default profiles
Добавлены плейсхолдеры для всех переменных, введённых хардненингом деплоя
(NGINX_SERVER_NAMES/NGINX_CERT_NAME, LIVEKIT_USE_EXTERNAL_IP/LIVEKIT_NODE_IP,
TURN_EXTERNAL_IP) — generic-значения (example.com/127.0.0.1/false), реальные
домены/IP боевой инсталляции задаются в .env вручную и install.sh их не
перезапишет.

COMPOSE_PROFILES по умолчанию — media,monitoring (только для ручного
`docker compose up` без install.sh): убирает ресурсоёмкие transcribe/llm
из дефолтного набора, install.sh продолжает выставлять профили по
выбранному пресету инсталлятора независимо от этого дефолта.

Добавлены MEDIA_URL/VITE_API_URL/VITE_LIVEKIT_URL/NEXT_PUBLIC_LIVEKIT_URL —
присутствуют в .env боевого сервера, но не читаются текущим кодом
(задокументировано как есть, для полноты покрытия реальных ключей).
2026-07-25 21:58:12 +03:00
896455381a Первоначальная версия VidConf 2026-07-23 01:57:27 +03:00