Files
crm-calls/docker-compose.calls.yml

69 lines
3.2 KiB
YAML
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.
# Модуль «Дзвінки» для CRM: https://crm-calls.volcanic.tes.gd (отдельное приложение Coolify).
# Jitsi — docker-compose.yml (другое приложение, https://meet.volcanic.tes.gd).
# Секреты JWT_APP_SECRET (тот же, что у Jitsi), GUEST_LINK_SECRET, JIBRI_RECORDER_PASSWORD (тот же, что у Jitsi),
# OPENAI_API_KEY, CRM_USER_PASSWORD — только в env Coolify.
# Запись: модуль следит за комнатами через prosody и управляет Jibri по сети crm-calls-bridge (создаёт приложение Jitsi),
# файлы записей — в общем каталоге хоста RECORDINGS_HOST_DIR.
services:
calls:
build:
context: ./calls
dockerfile: Dockerfile
expose:
- "8080"
environment:
ASPNETCORE_ENVIRONMENT: Production
ASPNETCORE_URLS: "http://+:8080"
Storage__DataDir: /data
Calls__PublicUrl: '${CALLS_PUBLIC_URL:-https://crm-calls.volcanic.tes.gd}'
Calls__LinkSecret: '${GUEST_LINK_SECRET}'
Calls__SessionHours: '${CALLS_SESSION_HOURS:-12}'
# origin CRM через пробел: из них принимается crm:auth, они же в frame-ancestors
Crm__Origins: '${CRM_ORIGINS:-https://test.units.tvorymo.com}'
Crm__AssetsOrigin: '${CRM_ASSETS_ORIGIN:-https://test.units.tvorymo.com}'
Supabase__Url: '${SUPABASE_URL:-https://yjxbkcqsquwbsyoonfkn.supabase.co}'
Supabase__PublishableKey: '${SUPABASE_PUBLISHABLE_KEY}'
Jitsi__Domain: '${JITSI_DOMAIN:-meet.volcanic.tes.gd}'
Jitsi__AppId: '${JWT_APP_ID:-tvorymo-crm}'
Jitsi__Audience: '${JWT_AUDIENCE:-jitsi}'
Jitsi__AppSecret: '${JWT_APP_SECRET}'
Jitsi__TokenTtlMinutes: '${JITSI_TOKEN_TTL_MINUTES:-15}'
# --- запись и транскрипция
RECORDING_ENABLED: '${RECORDING_ENABLED:-true}'
MAX_CONCURRENT_CALLS: '${MAX_CONCURRENT_CALLS:-1}'
MIN_CALL_SECONDS: '${MIN_CALL_SECONDS:-60}'
RECORD_MIN_PARTICIPANTS: '${RECORD_MIN_PARTICIPANTS:-2}'
PROSODY_URL: 'http://jitsi-prosody:5280'
JIBRI_URL: 'http://jitsi-jibri:2222'
JIBRI_RECORDER_PASSWORD: '${JIBRI_RECORDER_PASSWORD}'
RECORDINGS_DIR: /recordings
OPENAI_API_KEY: '${OPENAI_API_KEY:-}'
OPENAI_TRANSCRIBE_MODEL: '${OPENAI_TRANSCRIBE_MODEL:-whisper-1}'
CRM_USER_EMAIL: '${CRM_USER_EMAIL:-}'
CRM_USER_PASSWORD: '${CRM_USER_PASSWORD:-}'
RECORDINGS_BUCKET: '${RECORDINGS_BUCKET:-files}'
RECORDINGS_PREFIX: '${RECORDINGS_PREFIX:-calls/}'
WIKI_URL: '${WIKI_URL:-https://wiki-crm.tes.gd}'
WIKI_CALLS_FOLDER: '${WIKI_CALLS_FOLDER:-Дзвінки}'
# Служебные /api/admin/* (тестовые комнаты test-*, состояние обработки). Пусто — выключены.
ADMIN_TOKEN: '${ADMIN_TOKEN:-}'
volumes:
- calls-data:/data
- '${RECORDINGS_HOST_DIR:-/data/crm-calls/recordings}:/recordings'
networks:
- calls-bridge
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8080/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
networks:
calls-bridge:
external: true
name: crm-calls-bridge
volumes:
calls-data: