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:
@@ -248,7 +248,7 @@ production-релизом крупной инсталляции (пресеты
|
||||
brew install livekit-cli # или бинарь с github.com/livekit/livekit-cli/releases
|
||||
|
||||
# 2. Локальный стек (без AI-профилей)
|
||||
docker compose -f deploy/docker-compose.yml --profile media up -d livekit coturn
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env --profile media up -d livekit coturn
|
||||
|
||||
# 3. Прогон одной ступени (пример 10×10)
|
||||
export LIVEKIT_URL=ws://localhost:7880
|
||||
|
||||
@@ -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 не удаётся:**
|
||||
|
||||
@@ -126,7 +126,7 @@ CPU-only — отдельного GPU-варианта профилей для
|
||||
- Чистая установка (пресеты 1 и 3) на пустом `.env`/чистых volume.
|
||||
- Апгрейд 1 → 3 (повторный запуск с другим `--preset`, секреты сохранены).
|
||||
- Рекомендация детекта соответствует реальному железу текущей машины.
|
||||
- `bash -n install.sh`, `docker compose -f deploy/docker-compose.yml config -q`
|
||||
- `bash -n install.sh`, `docker compose -f deploy/docker-compose.yml --env-file .env config -q`
|
||||
для всех сочетаний профилей — минимальная валидация без реального подъёма.
|
||||
|
||||
Полную установку на чистой машине/VM гоняют вручную (использование сети
|
||||
|
||||
@@ -54,7 +54,7 @@ LLM_MODEL_FILE=qwen3.5-4b-instruct-q4_k_m.gguf \
|
||||
LLM_MODEL_URL=https://huggingface.co/unsloth/Qwen3.5-4B-GGUF/resolve/main/Qwen3.5-4B-Q4_K_M.gguf \
|
||||
LLM_TOKENIZER_FILE=qwen3.5-4b-instruct.tokenizer.json \
|
||||
LLM_TOKENIZER_URL=https://huggingface.co/Qwen/Qwen3.5-4B/resolve/main/tokenizer.json \
|
||||
docker compose -f deploy/docker-compose.yml --profile llm run --rm llm-model-init
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env --profile llm run --rm llm-model-init
|
||||
```
|
||||
|
||||
## 3. Запуск профиля
|
||||
@@ -62,14 +62,14 @@ docker compose -f deploy/docker-compose.yml --profile llm run --rm llm-model-ini
|
||||
CPU (уровни `min`/`medium`, пресеты 3/4):
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml \
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env \
|
||||
--profile media --profile transcribe --profile llm up -d
|
||||
```
|
||||
|
||||
GPU (уровень `max`, пресет 5 — GPU обязателен):
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml \
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env \
|
||||
--profile media --profile transcribe-gpu --profile llm-gpu up -d
|
||||
```
|
||||
|
||||
@@ -96,7 +96,7 @@ curl http://localhost:8080/health
|
||||
перезапустить `worker`:
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml up -d --force-recreate worker
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env up -d --force-recreate worker
|
||||
```
|
||||
|
||||
## 5. Проверка вручную
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
**Как запускался:**
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml --profile llm up -d \
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env --profile llm up -d \
|
||||
llm-models-init llm-model-init llm
|
||||
# дождаться docker compose ps → llm healthy (LLM_MODEL_FILE не задан в .env
|
||||
# — дефолт download-model.sh совпадает с уровнем min, Qwen3.5-4B)
|
||||
@@ -185,7 +185,7 @@ LLM_MODEL_FILE=qwen3.5-9b-instruct-q4_k_m.gguf \
|
||||
LLM_MODEL_URL=https://huggingface.co/unsloth/Qwen3.5-9B-GGUF/resolve/main/Qwen3.5-9B-Q4_K_M.gguf \
|
||||
LLM_TOKENIZER_FILE=qwen3.5-9b-instruct.tokenizer.json \
|
||||
LLM_TOKENIZER_URL=https://huggingface.co/Qwen/Qwen3.5-9B/resolve/main/tokenizer.json \
|
||||
docker compose -f deploy/docker-compose.yml --profile llm up -d
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env --profile llm up -d
|
||||
|
||||
cd backend && uv run python ../workers/summarizer/eval/run_tiers.py \
|
||||
--levels medium --base-url http://localhost:8080/v1
|
||||
@@ -210,7 +210,7 @@ LLM_MODEL_FILE=qwen3.5-35b-a3b-instruct-q4_k_m.gguf \
|
||||
LLM_MODEL_URL=https://huggingface.co/unsloth/Qwen3.5-35B-A3B-GGUF/resolve/main/Qwen3.5-35B-A3B-Q4_K_M.gguf \
|
||||
LLM_TOKENIZER_FILE=qwen3.5-35b-a3b-instruct.tokenizer.json \
|
||||
LLM_TOKENIZER_URL=https://huggingface.co/Qwen/Qwen3.5-35B-A3B/resolve/main/tokenizer.json \
|
||||
docker compose -f deploy/docker-compose.yml --profile llm-gpu up -d
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env --profile llm-gpu up -d
|
||||
|
||||
cd backend && uv run python ../workers/summarizer/eval/run_tiers.py \
|
||||
--levels max --base-url http://localhost:8081/v1
|
||||
|
||||
@@ -98,7 +98,7 @@ consumer'у одной и той же очереди — дублировани
|
||||
суммаризации/уведомлений), реплицируем сервис командой `--scale`:
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml -f deploy/docker-compose.override.yml \
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env -f deploy/docker-compose.override.yml \
|
||||
up -d --scale worker-summarize=3
|
||||
```
|
||||
|
||||
@@ -128,7 +128,7 @@ docker compose -f deploy/docker-compose.yml -f deploy/docker-compose.override.ym
|
||||
Для `worker-transcriber` тот же приём уже применим на уровне профиля:
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml --profile transcribe \
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env --profile transcribe \
|
||||
up -d --scale worker-transcriber=2
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user