Система управления интеркомами (преимущественно используемая в школах) с backend на FastAPI и встроенным web-интерфейсом.
- Python
3.13+(см.pyproject.toml) pipgit- Доступ в интернет для загрузки frontend-билда при установке/обновлении
- Linux дистрибутив с
systemdиapt-get(Debian/Ubuntu-подобные дистрибутивы) ffmpegдля вещания объявлений в реальном времени и кодекаOpus.
git clone https://github.com/wumtdev/bmaster.git
cd bmasterLinux:
chmod +x setup.sh
./setup.shЧто делает скрипт:
- устанавливает
uvи зависимости проекта; - создаёт служебные директории и файлы в
data/; - генерирует самоподписанный SSL сертификат (
data/cert.pem,data/key.pem), если его нет; - загружает и распаковывает последний frontend билд в
static/; - создаёт и включает
systemdunitbmaster.service(без автозапуска сразу).
Если нужно принудительно перевыпустить сертификат:
uv run -m service bootstrap --update-certПосле обновления сертификата:
- скачайте новый файл сертификата с сервера
- заново добавьте его в доверенные на всех клиентах.
Запуск через systemd:
sudo systemctl start bmaster.service
sudo systemctl status bmaster.serviceПо умолчанию сервер поднимается на https://0.0.0.0:8000.
- API документация (Swagger):
https://<ip адрес сервера>:8000/docs
Основной конфиг: data/config.yml.
Ключевые значения по умолчанию:
server.ssl.enabled: trueauth.service.enabled: true- пароль сервисного root-доступа по умолчанию:
rpass
После первого запуска рекомендуется сменить пароль в data/config.yml (auth.service.password).
Проверка обновлений:
uv run -m service checkОбновление backend + frontend:
uv run -m service updateЕсли update сообщает, что backend обновился:
sudo systemctl restart bmaster.serviceДля разработки проекта использовались:
- Python 3.13+
- VS Code
- Навыки в программировании и клавиатура
С любовью и терпением разрабатывают и поддерживают проект frum1 и wumtdev.
2025-20xx

