# TeleWave — пример переменных окружения. # Скопируй в .env и заполни значения. Ключи вида Section__Key биндятся в IOptions ASP.NET Core. # ВСЕ значения-секреты ниже обязательно заменить перед запуском (особенно *_PASSWORD, *SigningKey). # ── PostgreSQL (внешний сервер, не в compose) ───────────────────────────── # База и пользователь создаются заранее на самом сервере БД (см. README — раздел "Развёртывание"). ConnectionStrings__Default=Host=10.10.1.134;Port=5432;Database=telewave;Username=telewave;Password=change-me-strong-db-password # ── JWT ─────────────────────────────────────────────────────────────────── Jwt__Issuer=TeleWave Jwt__Audience=TeleWave Jwt__SigningKey=change-me-min-32-chars-random-secret Jwt__AccessTokenMinutes=15 Jwt__RefreshTokenDays=30 # ── Сид администратора (создаётся при первом старте, если не существует) ─── # Логин в систему — по username. Email в системе не используется. AdminSeed__Username=admin AdminSeed__Password=change-me-strong-admin-password # ── Rate limiting ──────────────────────────────────────────────────────── # Лимит запросов/мин на auth-эндпоинты (login/register/refresh). По умолчанию 20. # RateLimiting__AuthPermitLimit=20 # ── Хранилище медиа ──────────────────────────────────────────────────────── # RootPath — путь ВНУТРИ контейнера; на хосте это bind-mount тома (см. docs/server-storage-setup.md # и volumes в docker-compose.yml). Не меняй RootPath без синхронного изменения тома. Storage__RootPath=/media Storage__SegmentSeconds=2 # Сколько сегментов держать в скользящем окне live-плейлиста. Storage__LiveWindowSegments=10 Storage__KeepOriginals=false # Порог свободного места, ниже которого загрузка отклоняется (10 ГБ). Storage__MinFreeSpaceBytes=10737418240 # ── Планировщик эфира ────────────────────────────────────────────────────── # На сколько дней вперёд держать расписание; сколько часов прошлого хранить; период тика. Scheduler__HorizonDays=3 Scheduler__RetentionHours=24 Scheduler__TickMinutes=30 # ── Обработка медиа (ffmpeg) ─────────────────────────────────────────────── Media__FfmpegPath=/usr/bin/ffmpeg Media__FfprobePath=/usr/bin/ffprobe # Максимальный размер загружаемого файла (20 ГБ). Media__MaxUploadBytes=21474836480 # Потоки ffmpeg — оставляем ядро API/раздаче (сервер 4 vCPU). Media__TranscodeThreads=3 # Период опроса каталога inbox/ сканером, секунды. Media__InboxScanSeconds=15 # ── ASP.NET Core ────────────────────────────────────────────────────────── ASPNETCORE_ENVIRONMENT=Production ASPNETCORE_HTTP_PORTS=8080 # ── Доверенные прокси (X-Forwarded-For/Proto) ────────────────────────────── # TLS терминируется вне compose внешним прокси/шлюзом. По умолчанию доверяется только loopback. # Если прокси стоит не на loopback, перечисли его через запятую. # ForwardedHeaders__KnownProxies=203.0.113.10 # ForwardedHeaders__KnownNetworks=172.18.0.0/16