install.sh, docs: pass --env-file explicitly to docker compose

docker compose определяет .env для подстановки ${VAR} по каталогу
compose-файла (deploy/), а не по текущей директории — repo-root .env,
который использует install.sh и вся документация, молча не подхватывался.
Это и была причина "WARN: LIVEKIT_API_KEY not set" на боевом сервере:
секреты были в .env, но compose их не видел и подставлял небезопасные
дефолты (см. таблицу разведки сервера).

Теперь ставшие обязательными ${VAR:?} в docker-compose.yml (см. предыдущий
коммит) без этого немедленно проваливали бы конфиг на любой из
документированных команд. Добавлен `--env-file .env`/"$ENV_FILE" ко всем
вызовам docker compose в install.sh и в командах из README/docs.

install.sh дополнительно: ensure_default (аналог ensure_secret без генерации
секрета) для новых не-секретных параметров nginx/coturn/livekit
(NGINX_SERVER_NAMES, NGINX_CERT_NAME, LIVEKIT_USE_EXTERNAL_IP,
LIVEKIT_NODE_IP, TURN_EXTERNAL_IP) — дефолты только для локальной
разработки, не перезаписывают значения, заданные вручную на боевом
сервере. Плюс вызов deploy/render-templates.sh перед сборкой/подъёмом
стека.
This commit is contained in:
2026-07-25 21:58:03 +03:00
parent 79003eb56c
commit 693db6e774
10 changed files with 63 additions and 39 deletions

View File

@@ -27,8 +27,8 @@ SEED_ADMIN_PASSWORD=admin123
## 3. Запуск базового стека (без видеоконференций)
```bash
docker compose -f deploy/docker-compose.yml up -d
docker compose -f deploy/docker-compose.yml ps
docker compose -f deploy/docker-compose.yml --env-file .env up -d
docker compose -f deploy/docker-compose.yml --env-file .env ps
```
Это запустит:
@@ -47,7 +47,7 @@ Backend API доступен:
Для включения видеоконференций с LiveKit SFU + Coturn TURN сервером:
```bash
docker compose -f deploy/docker-compose.yml --profile media up -d
docker compose -f deploy/docker-compose.yml --env-file .env --profile media up -d
```
Это добавит:
@@ -124,7 +124,7 @@ cd backend && uv run alembic current
curl http://localhost:5173
# Worker жив (если запущен)
docker compose -f deploy/docker-compose.yml exec worker celery -A workers.celery_app inspect ping
docker compose -f deploy/docker-compose.yml --env-file .env exec worker celery -A workers.celery_app inspect ping
```
## 7. Тестирование и проверка качества
@@ -148,7 +148,7 @@ npm run lint
npm run build
# Валидация docker-compose
docker compose -f deploy/docker-compose.yml config -q
docker compose -f deploy/docker-compose.yml --env-file .env config -q
```
## 8. Пресеты инсталлятора
@@ -169,12 +169,12 @@ VidConf поддерживает **5 пресетов инсталлятора**
**Backend не может подключиться к БД:**
```bash
docker compose -f deploy/docker-compose.yml logs postgres
docker compose -f deploy/docker-compose.yml --env-file .env logs postgres
```
**Ошибка подключения Redis:**
```bash
docker compose -f deploy/docker-compose.yml logs redis
docker compose -f deploy/docker-compose.yml --env-file .env logs redis
```
**Сборка Frontend не удаётся:**