COMPOSE_PROJECT_NAME=chatballs CHATBALLS_APP_DOMAIN=app.localhost CHATBALLS_PLATFORM_DOMAIN=platform.localhost CHATBALLS_HELP_BASE_DOMAIN=localhost CHATBALLS_HELP_PUBLIC_SCHEME=http CHATBALLS_HELP_PUBLIC_PORT=8080 CHATBALLS_ACME_EMAIL=local@example.invalid CHATBALLS_ADMIN_PORT=18001 CHATBALLS_ENV=local CHATBALLS_DEBUG=true CHATBALLS_DELIVERY_MODE=CLOUD CHATBALLS_SECRET_KEY=change-me-only-for-local-development CHATBALLS_APP_ALLOWED_HOSTS=localhost,127.0.0.1,app.localhost CHATBALLS_APP_CSRF_TRUSTED_ORIGINS=http://localhost,http://app.localhost,http://localhost:8010,http://localhost:5173,http://localhost:5175 CHATBALLS_PLATFORM_ALLOWED_HOSTS=localhost,127.0.0.1,platform.localhost CHATBALLS_PLATFORM_CSRF_TRUSTED_ORIGINS=http://platform.localhost,http://localhost:8011 CHATBALLS_CORS_ALLOWED_ORIGINS=http://localhost:5173,http://localhost:5175 # Шифрование секретов в БД (Fernet-ключ). В local не обязателен — выводится из # CHATBALLS_SECRET_KEY; в production задайте отдельный ключ: Fernet.generate_key(). CHATBALLS_FIELD_ENCRYPTION_KEY= # AI-провайдер. Локально по умолчанию тестовый адаптер; в production задайте ключ. # CHATBALLS_AI_PROVIDER=openrouter CHATBALLS_OPENROUTER_API_KEY= # CHATBALLS_OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # CHATBALLS_AI_REQUEST_TIMEOUT=30 # CHATBALLS_AI_MAX_RETRIES=2 # CHATBALLS_AI_GLOBAL_DAILY_COST_LIMIT_MICROS=0 # Транспортная безопасность. Вне CHATBALLS_DEBUG включается автоматически; здесь — для переопределения. # CHATBALLS_COOKIE_SECURE=true # CHATBALLS_SSL_REDIRECT=true # CHATBALLS_HSTS_SECONDS=31536000 # CHATBALLS_COOKIE_SAMESITE=Lax # Email (по умолчанию console backend; для реальной отправки задайте SMTP). # EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend # EMAIL_HOST= # EMAIL_HOST_USER= # EMAIL_HOST_PASSWORD= # DEFAULT_FROM_EMAIL=Chatballs INTERNAL_UI_BASE_URL=http://localhost:5173 POSTGRES_DB=chatballs POSTGRES_USER=chatballs_bootstrap POSTGRES_PASSWORD=chatballs_bootstrap POSTGRES_APP_USER=chatballs_app POSTGRES_APP_PASSWORD=chatballs_app POSTGRES_PLATFORM_USER=chatballs_platform POSTGRES_PLATFORM_PASSWORD=chatballs_platform POSTGRES_MIGRATION_USER=chatballs_migration POSTGRES_MIGRATION_PASSWORD=chatballs_migration POSTGRES_HOST=postgres POSTGRES_PORT=5432 REDIS_URL=redis://redis:6379/0 # Tenant-owned object storage. Production требует S3-compatible backend; # local/test могут явно использовать filesystem. CHATBALLS_STORAGE_BACKEND=filesystem # CHATBALLS_S3_BUCKET=chatballs # CHATBALLS_S3_ENDPOINT_URL=https://s3.example.invalid # CHATBALLS_S3_REGION=ru-central1 # CHATBALLS_S3_ACCESS_KEY= # CHATBALLS_S3_SECRET_KEY= # CHATBALLS_S3_ADDRESSING_STYLE=path # CHATBALLS_S3_URL_EXPIRY_SECONDS=900 # P2P calls: invite — 5 минут, access token — 1 час. CHATBALLS_CALL_INVITE_TTL_SECONDS=300 CHATBALLS_CALL_ACCESS_TTL_SECONDS=3600 CHATBALLS_CALL_CONNECT_GRACE_SECONDS=120 CHATBALLS_CALL_RECONNECT_GRACE_SECONDS=60 # STUN для WebRTC (через запятую). Локально обычно пусто: direct ICE на localhost. CHATBALLS_CALL_STUN_URLS= # TURN (Coturn) — production-контур; локально пусто (direct/STUN достаточно). CHATBALLS_CALL_TURN_URLS= CHATBALLS_CALL_TURN_SECRET= CHATBALLS_CALL_TURN_TTL_SECONDS=3600 INTERNAL_UI_PORT=5173 WEB_CHAT_PORT=5175 BACKEND_APP_PORT=8010 BACKEND_PLATFORM_PORT=8011 VITE_API_BASE_URL=http://app.localhost/api/v1 # Публичный домен для сниппета Web-виджета в рантайме выводится от текущего origin # (ADR-HUB-0028 §10); build-time аргумент не нужен.