Files
ayrisdevandClaude Sonnet 5 9aed4e891e perf: segment süresini 5 dakikadan 3 dakikaya düşür (Telegram video limiti)
Global SEGMENT_TIME_SEC varsayılanı 300->180 (docker-compose, .env.example,
env.ts, signal_detection.py fallback'i). 5 dakikalık segmentlerden çıkan
adaylar ~56MB'a kadar çıkabiliyordu — Telegram bot'ların sendVideo ile
yükleyebileceği ~50MB sınırını aşıp gönderim başarısız oluyordu (bkz.
delete_after_telegram_send). 3 dakika bu sınırın güvenli tarafında kalıyor.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 18:48:45 +03:00

64 lines
2.8 KiB
Bash
Raw Permalink 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.
# Local dev (running services directly on the host) uses localhost.
# docker-compose overrides DATABASE_URL/REDIS_URL/SHARED_MEDIA_ROOT to
# internal container hostnames — see infra/docker-compose.yml.
DATABASE_URL=postgresql://streamclipper:streamclipper@localhost:5432/streamclipper
REDIS_URL=redis://localhost:6379
SHARED_MEDIA_ROOT=./shared-media
# Canlı yayın tespiti yt-dlp ile yapılıyor (bkz. youtubePolling.ts) —
# YouTube Data API key gerekmiyor.
OPENAI_API_KEY=
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=
POLL_INTERVAL_MS=60000
SEGMENT_TIME_SEC=180
API_DAEMON_PORT=4001
# Signs the panel's login session cookies (frontend). Generate with:
# openssl rand -base64 32
# Required in production (docker-compose fails to start without it) — a
# fixed insecure default is only used for local dev when unset.
SESSION_SECRET=
# Set to a live YouTube URL to bypass the 60s polling loop and start
# capturing immediately — useful for testing the pipeline without waiting
# for a real scheduled stream.
FORCE_LIVE_URL=
# YouTube cookies (Netscape cookies.txt content) are configured from the
# panel's /settings page, not here — they rotate every few hours and are
# stored in the app_settings table so they can be updated without a
# redeploy. Use a throwaway/secondary Google account, not your main one —
# it's a live session credential.
# URL of a bgutil-ytdlp-pot-provider HTTP server (see docker-compose.yml
# sc_pot_provider). Needed alongside cookies to avoid YouTube's "The page
# needs to be reloaded" proof-of-origin token check. In docker-compose this
# is auto-set to http://sc_pot_provider:4416; leave blank for local dev
# unless you're running the provider yourself.
YTDLP_POT_PROVIDER_URL=
# Residential/ISP proxy (http://user:pass@host:port) for yt-dlp calls.
# Datacenter server IPs get progressively more flagged the more they're
# used for yt-dlp requests — a clean residential/ISP IP avoids that. Use an
# ISP proxy product specifically (e.g. Oxylabs "ISP Proxies"), not a plain
# datacenter proxy — the latter has the same problem as the server itself.
PROXY_URL=
# Processed raw recordings (raw_segments) older than this get auto-deleted
# (DB row + file) — PRD's auto-purge lifecycle. Only segments already fully
# analyzed (no candidate still waiting on STT) are eligible.
RAW_SEGMENT_TTL_HOURS=24
# Video render (yüz takibi + 9:16 crop + altyazı) her segment/stt-scoring
# işinden çok daha ağır — düşük tutulur ki aynı anda birden fazla render
# worker container'ını boğmasın.
VIDEO_RENDER_CONCURRENCY=2
# api-daemon'ın durdur/zorla-başlat/render-tetikle gibi durum-değiştiren
# endpoint'lerini korur (bu daemon'ın portu Coolify'de public'e açık).
# frontend ve api-daemon aynı değeri kullanmalı. Generate: openssl rand -hex 24
# Boş bırakılırsa (sadece local dev için) bu endpoint'ler korumasız kalır.
INTERNAL_API_TOKEN=