2026-matrix-sumka
Matrix-бот для запуска
2026-linux-sumka.
Бот принимает поддерживаемые аудио- и видеофайлы, запускает sumka в отдельном
Docker-контейнере и отправляет пользователю готовый output.pdf.
Одновременно выполняется только одно задание. Новый файл во время обработки сразу отклоняется и не ставится в очередь.
Поддерживаемые расширения: .mp4, .mkv, .avi, .mp3, .m4a, .wav.
Файл можно отправить в Matrix как видео, аудио или обычный файл.
Как это работает
Для каждого принятого видео бот:
- очищает
runtime/work; - скачивает файл как
runtime/work/input.<расширение>; - запускает контейнер
sumkaчерезrun_sumka.sh; - читает этапы обработки из
report.txt; - проверяет код выхода процесса;
- отправляет
output.pdfв исходную Matrix-комнату.
Вывод контейнера сохраняется в runtime/work/sumka.log.
Конфигурация
При первом запуске автоматически создаётся runtime/config.json:
{
"matrix_homeserver": "https://matrix.example.org",
"matrix_user": "sumka-bot",
"store_dir": "session_storage",
"sumka_image": "sumka:amd",
"ai_api_key": "change-me",
"sumka_args": []
}
matrix_user — локальная часть Matrix ID без @ и имени сервера.
В sumka_args можно передать аргументы командной строки sumka, например имена
моделей. Для NVIDIA укажите образ с nvidia в теге, например sumka:nvidia;
для AMD — sumka:amd.
Запуск в Docker
На машине заранее должны быть собраны нужный образ sumka и образ бота.
mkdir -p runtime
docker compose build
docker compose run --rm bot
Первый запуск создаст конфиг и завершится. Заполните
runtime/config.json, затем повторите команду для первой авторизации в Matrix.
После успешного входа остановите процесс через Ctrl+C; сессия сохранится в
runtime/session_storage.
Пароль также можно передать через окружение:
MATRIX_PASSWORD='matrix-password' \
docker compose run --rm -e MATRIX_PASSWORD bot
Постоянный запуск:
docker compose up -d
Бот использует Docker daemon хоста через /var/run/docker.sock; вложенный
Docker daemon не запускается.
Запуск через .venv
Нужны Python 3.12+, Docker CLI, libmagic и libolm.
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txt
cp config.example.json config.json
python main.py
Используется стабильная версия mab v0.5.2.