mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 09:14:58 +03:00
88 lines
3.1 KiB
Plaintext
88 lines
3.1 KiB
Plaintext
# Instance configuration CustoCRM (ADR-HUB-0028 / SPEC-HUB-0019 §7.2).
|
|
# Поставляется в release bundle. Копируется в instance/.env и редактируется
|
|
# под конкретный экземпляр. Image references НЕ здесь — они в release.env (CI).
|
|
# Здесь нет initial OWNER password и нет demo-флага (см. SPEC §7.2 запреты).
|
|
|
|
COMPOSE_PROJECT_NAME=custocrm
|
|
|
|
# --- Instance identity / gateway ---
|
|
CUSTOCRM_DOMAIN=hub.example.com
|
|
CUSTOCRM_ACME_EMAIL=admin@example.com
|
|
# IP web-gateway. Оставьте 0.0.0.0 без profile calls. Для calls укажите
|
|
# отдельный публичный IP, отличный от HUB_TURN_LISTENING_IP.
|
|
CUSTOCRM_WEB_LISTENING_IP=0.0.0.0
|
|
# Опциональные profiles: calls (coturn), и в будущем voice.
|
|
# COMPOSE_PROFILES=calls
|
|
|
|
# --- Django core ---
|
|
HUB_ENV=production
|
|
HUB_DEBUG=false
|
|
HUB_SECRET_KEY=change-me-long-random-secret
|
|
# Шифрование секретов в БД (Fernet-ключ): Fernet.generate_key().
|
|
HUB_FIELD_ENCRYPTION_KEY=
|
|
|
|
HUB_ALLOWED_HOSTS=hub.example.com
|
|
HUB_CSRF_TRUSTED_ORIGINS=https://hub.example.com
|
|
HUB_CORS_ALLOWED_ORIGINS=https://hub.example.com
|
|
INTERNAL_UI_BASE_URL=https://hub.example.com
|
|
# Host header для Docker healthcheck внутри backend-контейнера.
|
|
# Должен присутствовать в HUB_ALLOWED_HOSTS.
|
|
HUB_HEALTHCHECK_HOST=hub.example.com
|
|
|
|
# Транспортная безопасность (вне HUB_DEBUG включается автоматически).
|
|
HUB_COOKIE_SECURE=true
|
|
HUB_SSL_REDIRECT=true
|
|
HUB_HSTS_SECONDS=31536000
|
|
HUB_COOKIE_SAMESITE=Lax
|
|
|
|
# --- PostgreSQL / Redis ---
|
|
POSTGRES_DB=custocrm
|
|
POSTGRES_USER=custocrm
|
|
POSTGRES_PASSWORD=change-me-db-password
|
|
POSTGRES_HOST=postgres
|
|
POSTGRES_PORT=5432
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# --- P2P calls (profile calls) ---
|
|
# Включается только при COMPOSE_PROFILES=calls. Параметры coturn обязательны,
|
|
# если profile активен.
|
|
HUB_CALL_INVITE_TTL_SECONDS=300
|
|
HUB_CALL_ACCESS_TTL_SECONDS=3600
|
|
HUB_CALL_CONNECT_GRACE_SECONDS=120
|
|
HUB_CALL_RECONNECT_GRACE_SECONDS=60
|
|
HUB_CALL_STUN_URLS=
|
|
# Публичные TURN endpoints (через запятую). Пусто -> только STUN/direct.
|
|
HUB_CALL_TURN_URLS=
|
|
# Общий static-auth-secret между backend и coturn.
|
|
HUB_CALL_TURN_SECRET=
|
|
HUB_CALL_TURN_TTL_SECONDS=3600
|
|
HUB_CALL_TURN_REALM=hub.example.com
|
|
# Публичный IP coturn listener/relay. ОТДЕЛЬНЫЙ от web IP, чтобы TURN занял 443.
|
|
HUB_TURN_EXTERNAL_IP=
|
|
HUB_TURN_LISTENING_IP=
|
|
HUB_TURN_LISTENING_PORT=3478
|
|
HUB_TURN_TLS_PORT=443
|
|
HUB_TURN_MIN_PORT=49160
|
|
HUB_TURN_MAX_PORT=49200
|
|
|
|
# --- AI provider ---
|
|
HUB_AI_PROVIDER=openrouter
|
|
HUB_OPENROUTER_API_KEY=
|
|
HUB_OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
|
|
HUB_AI_REQUEST_TIMEOUT=30
|
|
HUB_AI_MAX_RETRIES=2
|
|
HUB_AI_GLOBAL_DAILY_COST_LIMIT_MICROS=0
|
|
|
|
# --- Email ---
|
|
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
|
|
EMAIL_HOST=
|
|
EMAIL_PORT=587
|
|
EMAIL_HOST_USER=
|
|
EMAIL_HOST_PASSWORD=
|
|
EMAIL_USE_TLS=true
|
|
DEFAULT_FROM_EMAIL=CustoCRM <no-reply@example.com>
|
|
|
|
# --- Gunicorn ---
|
|
HUB_GUNICORN_WORKERS=3
|
|
HUB_GUNICORN_TIMEOUT=60
|