lct-hack/.env.example

73 lines
3.1 KiB
Shell
Raw Normal View History

# Необязателен: `docker compose up` работает без .env. Скопировать в .env, чтобы
# переопределить порты, пароли или запустить backend нативно. Файл в .gitignore.
POSTGRES_PORT=5432
# Пусто — пароль lct: БД слушает только loopback хоста.
POSTGRES_PASSWORD=
BACKEND_PORT=8000
# Per-backend PostgreSQL connection pool (cluster default budget: 60 total).
DB_POOL_SIZE=20
DB_POOL_MAX_OVERFLOW=10
# Stable node identity; set a distinct value for each explicit backend node.
BACKEND_NODE_ID=backend-01
FRONTEND_PORT=5173
SIP_PORT=5060
# Если пусто, Asterisk создаст стойкие случайные пароли в volume sipdata.
SIP_6001_PASSWORD=
SIP_6002_PASSWORD=
SIP_6003_PASSWORD=
SIP_6101_PASSWORD=
SIP_6102_PASSWORD=
SIP_6103_PASSWORD=
DATABASE_URL=postgresql+asyncpg://lct:lct@localhost:5432/lct
# Два локальных OpenAI-совместимых сервера (например, llama-server) для
# нативного backend. В Compose адреса заданы именами сервисов llm-qwen/llm-vikhr.
# Адреса должны быть loopback: OFFLINE=true не допускает внешний API.
LLM_PROVIDER=local
LLM_BASE_URL=http://127.0.0.1:18080/v1
LLM_API_KEY=
LLM_MODEL_CALLER=Qwen3-1.7B
LLM_CONTROL_BASE_URL=http://127.0.0.1:18081/v1
LLM_MODEL_CONTROL=Vikhr-1B
GRAMMAR_LLM_ENABLED=true
DIALOGUE_MODEL_MODE=dialogue
JUDGE_TEMPERATURE=0
# Потоки llama-server в контейнерах llm-qwen и llm-vikhr.
LLM_THREADS=4
# Голосовой контур
MODELS_DIR=models
STT_MODEL=whisper-small
WHISPER_MODEL_PATH=models/whisper-small
WHISPER_SERVER_URL=http://127.0.0.1:18082
VOICE_ENABLED=false
RECORD_CALLS=true
RECORDINGS_DIR=recordings
BACKUP_INTERVAL_SECONDS=86400
BACKUP_RETRY_SECONDS=300
BACKUP_KEEP=14
ENDPOINTING_MS=600
OFFLINE=true
SECURE_COOKIES=false
# Необязательно для Compose: если пусто, стойкий случайный ключ создаётся в
# volume securitydata. На управляемом стенде можно задать свой 48+ байтный ключ.
# Compose generates this in its persistent securitydata volume if left blank.
# If managed explicitly, use at least 32 random characters.
SESSION_SECRET=
# Необязательный AD/LDAP: требует LDAPS или StartTLS и проверку сертификата.
# Для включения задайте ldap(s)://url, base DN, bind-учётку и явные группы.
# Ключи LDAP_ROLE_GROUPS — DN групп, значения: admin/instructor/trainee.
# LDAP_SERVICE_GROUPS связывает DN групп курсантов с названием службы ДДС.
LDAP_ENABLED=false
LDAP_URL=
LDAP_BASE_DN=
LDAP_BIND_DN=
LDAP_BIND_PASSWORD=
LDAP_USER_FILTER=(objectClass=person)
LDAP_LOGIN_ATTRIBUTE=sAMAccountName
LDAP_ROLE_GROUPS={}
LDAP_SERVICE_GROUPS={}
# Путь к доверенному внутреннему CA внутри контейнера или локального backend.
LDAP_CA_CERTS_FILE=
LDAP_CONNECT_TIMEOUT_SECONDS=5