# Server configuration [server] port = 8080 shutdown_timeout = 5 force_shutdown_timeout = 20 # Storage configuration # Единственный каталог данных: под ним лежат и база, и файлы записей. [storage] data_dir = "data" # Конвейер расшифровки. [pipeline] # Число рабочих потоков. Специализации у них нет: каждый берёт любую пригодную к # работе запись и выбирает шаг по её рубежу. # # Ноль — законное значение, а не поломка: сервис поднимается, записи # принимаются и не двигаются. Годится местному запуску и выкладке, где конвейер # надо остановить, не роняя приём. workers = 3 # Предел простоя записи там, где работу делаем мы сами, в минутах. # # Сторож ловит **зависание**, а не долгую работу: пока шаг идёт, запись занята # захватом, и живой процесс наблюдается сам по себе. Час меньше времени, которое # многочасовая запись занимает на приведении, и это принято сознательно # (решение владельца 2026-08-14): цена ложной остановки — одно движение # владельца, потому что остановка обратима и рубежа не стирает. own_work_limit_minutes = 60 # Предел простоя там, где ждём операцию внешнего сервиса, в минутах. # # Сколько идёт распознавание долгой записи, никто не мерил, поэтому ошибаемся в # сторону долгого: ложная остановка хуже поздней. Откладывание опроса этот # отсчёт не двигает — иначе зависшая у провайдера операция опрашивалась бы # вечно. foreign_work_limit_minutes = 1440 # Yandex Cloud Configuration [yandex] # ID папки в Yandex Cloud (получить в консоли Yandex Cloud) folder_id = "your_folder_id_here" # API ключ для доступа к Yandex SpeechKit (получить в консоли Yandex Cloud) speech_kit_api_key = "your_speech_kit_api_key_here" # Object Storage (S3) configuration # Access Key ID для доступа к Object Storage (получить в консоли Yandex Cloud) object_storage_access_key_id = "your_access_key_id" # Secret Access Key для доступа к Object Storage (получить в консоли Yandex Cloud) object_storage_secret_access_key = "your_secret_access_key" # Имя бакета в Object Storage object_storage_bucket_name = "your_bucket_name" # Регион Object Storage object_storage_region = "ru-central1" # Endpoint Object Storage object_storage_endpoint = "https://storage.yandexcloud.net/" # Вход через внешнего провайдера OIDC (Authelia). # Без заполненной секции сервис не поднимается: молча выключенный вход оставил бы # API открытым наружу. [auth] # Адрес, куда сервис уводит человека на вход auth_url = "https://auth.example.com/api/oidc/authorization" # Адрес, где код обменивается на токен token_url = "https://auth.example.com/api/oidc/token" # Адрес, откуда берутся сведения о вошедшем user_info_url = "https://auth.example.com/api/oidc/userinfo" # Идентификатор клиента, заведённого у провайдера client_id = "transcriber" # Секрет клиента; приходит из выкладки, в git не коммитится client_secret = "" # Адрес возврата; тот же, что записан клиенту у провайдера redirect_url = "https://transcriber.example.com/auth/callback" # Признак `Secure` у куки сессии. Умолчание true; false только для локального # запуска по http://localhost, где браузер такую куку не сохранит secure_cookie = true