# 2026-matrix-sumka Matrix-бот для запуска [`2026-linux-sumka`](https://git.tyukalov.su/nikita/2026-linux-sumka.git). Бот принимает поддерживаемые аудио- и видеофайлы, запускает `sumka` в отдельном Docker-контейнере и отправляет пользователю готовый `output.pdf`. Одновременно выполняется только одно задание. Новый файл во время обработки сразу отклоняется и не ставится в очередь. Поддерживаемые расширения: `.mp4`, `.mkv`, `.avi`, `.mp3`, `.m4a`, `.wav`. Файл можно отправить в Matrix как видео, аудио или обычный файл. ## Как это работает Для каждого принятого видео бот: 1. очищает `runtime/work`; 2. скачивает файл как `runtime/work/input.<расширение>`; 3. запускает контейнер `sumka` через `run_sumka.sh`; 4. читает этапы обработки из `report.txt`; 5. проверяет код выхода процесса; 6. отправляет `output.pdf` в исходную Matrix-комнату. Вывод контейнера сохраняется в `runtime/work/sumka.log`. ## Конфигурация При первом запуске автоматически создаётся `runtime/config.json`: ```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` и образ бота. ```bash mkdir -p runtime docker compose build docker compose run --rm bot ``` Первый запуск создаст конфиг и завершится. Заполните `runtime/config.json`, затем повторите команду для первой авторизации в Matrix. После успешного входа остановите процесс через `Ctrl+C`; сессия сохранится в `runtime/session_storage`. Пароль также можно передать через окружение: ```bash MATRIX_PASSWORD='matrix-password' \ docker compose run --rm -e MATRIX_PASSWORD bot ``` Постоянный запуск: ```bash docker compose up -d ``` Бот использует Docker daemon хоста через `/var/run/docker.sock`; вложенный Docker daemon не запускается. ## Запуск через `.venv` Нужны Python 3.12+, Docker CLI, `libmagic` и `libolm`. ```bash 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`.