lct-hack/.env.example

84 lines
3.5 KiB
Shell
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Скопировать в .env. Файл в .gitignore: ключи в репозиторий не едут.
BIND_HOST=127.0.0.1
POSTGRES_PORT=5432
# Development profile defaults to lct. Before production/offline deployment,
# generate a unique URL-safe value: python -c "import secrets; print(secrets.token_urlsafe(32))"
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
TLS_PORT=5443
TLS_CERT_DIR=./.local/tls
SIP_PORT=5060
SIPS_PORT=5061
SIP_WS_PORT=8088
RTP_PORT_START=10000
RTP_PORT_END=10099
SIP_TLS_DIR=./.local/sip-tls
# Если пусто, Asterisk создаст стойкие случайные пароли в volume sipdata.
SIP_6001_PASSWORD=
SIP_6002_PASSWORD=
SIP_6003_PASSWORD=
SIP_6101_PASSWORD=
SIP_6102_PASSWORD=
SIP_6103_PASSWORD=
# IP/DNS сервера, который WebRTC-клиенты видят в локальной сети. При запуске
# только на той же машине оставьте 127.0.0.1; RTP-порты должны отображаться 1:1.
SIP_EXTERNAL_MEDIA_ADDRESS=127.0.0.1
DATABASE_URL=postgresql+asyncpg://lct:lct@localhost:5432/lct
# Два локальных OpenAI-совместимых сервера (например, llama-server).
# Адреса должны быть loopback: OFFLINE=true не допускает внешний API.
LLM_PROVIDER=local
LLM_BASE_URL=http://127.0.0.1:18080/v1
# Адреса тех же процессов из backend-контейнера Docker Desktop (macOS/Windows).
DOCKER_LLM_BASE_URL=http://host.docker.internal:18080/v1
LLM_API_KEY=
LLM_MODEL_CALLER=Qwen3-1.7B
LLM_CONTROL_BASE_URL=http://127.0.0.1:18081/v1
DOCKER_LLM_CONTROL_BASE_URL=http://host.docker.internal:18081/v1
LLM_MODEL_CONTROL=Vikhr-1B
GRAMMAR_LLM_ENABLED=true
DIALOGUE_MODEL_MODE=dialogue
JUDGE_TEMPERATURE=0
# Голосовой контур
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