- убраны клиент бота, транспорт обновлений, отправитель сообщений, сборка входа при старте, секция настроек и зависимость go-telegram-bot-api; из конвейера ушла доставка ответа отправителю — исход виден опросом готовности. Колонки адресата и значение источника остались в схеме: применённые шаги не переписываются - шаг 202608140003 запрещает пустого владельца у аудиозаписи и у файла; существующие строки он не проверяет, и это принято сознательно — искать их надо запросом до выкладки - ревью нашло два пред-существующих дефекта, оба закрыты: пустой второй ответ распознавателя стирал сохранённую расшифровку, а пустая расшифровка перестала быть заметной вместе с убранной доставкой. Попутно поднят golang.org/x/image до v0.45.0 — красный шаг vulns, воспроизводился и на чистом master
88 lines
4.4 KiB
TOML
88 lines
4.4 KiB
TOML
# 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
|