Bedrud спроектирован для работы как самодостаточный «appliance» для видеоконференций. Один исполняемый бинарник содержит всё необходимое - фронтенд, backend и медиа-сервер LiveKit.
Ключевые особенности
| Особенность | Описание |
|---|---|
| Нулевые внешние зависимости | Не нужны Node.js, Redis или отдельный медиа-сервер |
| Встроенный медиа-сервер | Бинарник LiveKit включён и управляется автоматически |
| Встроенный фронтенд | React UI скомпилирован и SSR пререндерен в Go-бинарник |
| Хранилище SQLite | Сервер базы данных не требуется |
| Встроенный TLS | Самоподписанные сертификаты или Let’s Encrypt |
| Встроенный установщик | Настраивает systemd, директории и конфигурации |
Запуск бинарника
Запуск сервера Bedrud
./bedrud --run --config config.yamlЗапуск медиа-сервера LiveKit
./bedrud --livekit --config livekit.yamlБинарник содержит как API-сервер, так и медиа-сервер. Используйте флаги для выбора нужного.
Установка
Быстрая установка (Debian/Ubuntu)
# С TLS от Let's Encrypt
sudo ./bedrud install --tls --domain meet.example.com --email admin@example.com
# С самоподписанным сертификатом
sudo ./bedrud install --tls --ip 1.2.3.4
# Обычный HTTP (только для разработки)
sudo ./bedrud install --ip 1.2.3.4Что делает установщик
При установке происходит следующее:
| Шаг | Действие |
|---|---|
| 1 | Создает директории: /etc/bedrud, /var/lib/bedrud, /var/log/bedrud |
| 2 | Копирует бинарник в /usr/local/bin/bedrud |
| 3 | Генерирует config.yaml /etc/bedrud/config.yaml |
| 4 | Генерирует livekit.yaml /etc/bedrud/livekit.yaml |
| 5 | Создает сервисы systemd: bedrud.service & livekit.service |
| 6 | Включает и запускает сервисы |
| 7 | Инициализирует SQLite и сертификаты |
Архитектура сервисов
После установки работают два сервиса systemd:
flowchart LR
BS["bedrud.service<br/>bedrud --run<br/>(API + Web UI)"]
LS["livekit.service<br/>bedrud --livekit<br/>(WebRTC media)"]
DB["SQLite database"]
BS --> LS
BS --> DBФайлы конфигурации
| Файл | Назначение |
|---|---|
/etc/bedrud/config.yaml | Основная конфигурация сервера |
/etc/bedrud/livekit.yaml | Конфигурация медиа-сервера |
/var/lib/bedrud/bedrud.db | База данных SQLite |
/var/log/bedrud/bedrud.log | Логи приложения |
См. Справочник конфигурации для всех параметров.
После установки
Создание первого администратора
Выдать права администратора
Зарегистрируйтесь через веб-UI, затем выдайте права:
sudo ./bedrud user promote --email admin@example.com
Проверка статуса сервисов
systemctl status bedrud livekitПросмотр логов
tail -f /var/log/bedrud/bedrud.log
journalctl -u bedrud -fУдаление
sudo ./bedrud uninstallЭто полностью удалит:
- Файлы сервисов systemd
- Бинарник из
/usr/local/bin/ - Конфигурацию в
/etc/bedrud/ - Данные в
/var/lib/bedrud/ - Логи в
/var/log/bedrud