mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-06 01:24:59 +03:00
fix(ci): harden release and deployment workflow
This commit is contained in:
1 parent
ae98760824
commit
e13542fc45
27 files changed
+1424
-348
No files matched your search
+87
@@ -0,0 +1,87 @@
|
||||
# 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
|
||||
Reference in new issue
Block a user