Bedrud Документация

Bedrud is designed to run as a self-contained “appliance” for video meetings. A single executable binary packages everything needed - frontend, backend, and the LiveKit media server.

Key Features

FeatureDescription
Zero external dependenciesNo Node.js, Redis, or separate media server needed
Embedded media serverLiveKit binary included and managed automatically
Embedded frontendReact UI compiled and SSR pre-rendered into the Go binary
SQLite storageNo database server required
Built-in TLSSelf-signed certificates or Let’s Encrypt. TURN/TLS is automatically configured for the embedded LiveKit when server TLS is enabled.
Built-in installerConfigures init services (systemd/OpenRC/SysV), directories, and configs

Running the Binary

Start the Bedrud Server

./bedrud --run --config config.yaml

Start the LiveKit Media Server

./bedrud --livekit --config livekit.yaml

The binary contains both the API server and the media server. Use flags to choose which to start.

Installation

Quick Install (Debian/Ubuntu)

# With Let's Encrypt TLS
sudo ./bedrud install --tls --domain meet.example.com --email admin@example.com
 
# With self-signed certificate
sudo ./bedrud install --tls --ip 1.2.3.4
 
# Plain HTTP (dev only)
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 и сертификаты

Service Architecture

After installation, two init services run (systemd, OpenRC, or SysV init):

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

Configuration Files

FilePurpose
/etc/bedrud/config.yamlMain server configuration
/etc/bedrud/livekit.yamlMedia server configuration
/var/lib/bedrud/bedrud.dbSQLite database
/var/log/bedrud/bedrud.logApplication logs

See the Configuration Reference for all options.

Post-Installation

Create Your First Admin

Выдать права администратора

Зарегистрируйтесь через веб-UI, затем выдайте права:

			
sudo ./bedrud user promote --email admin@example.com
		

Check Service Status

systemctl status bedrud livekit

View Logs

tail -f /var/log/bedrud/bedrud.log
journalctl -u bedrud -f

Updating

Upgrade without wiping config or data:

# After placing a newer bedrud binary on the host
sudo bedrud update
# or
sudo bedrud upgrade

This replaces the installed binary, runs database and version migrations if needed, refreshes init units, and restarts services. Secrets and /etc/bedrud/config.yaml are preserved.

See Updating and CLI Reference.

Uninstallation

sudo ./bedrud uninstall

This completely removes:

  • Init service files (systemd/OpenRC/SysV)
  • Binary from /usr/local/bin/
  • Configuration in /etc/bedrud/
  • Data in /var/lib/bedrud/
  • Logs in /var/log/bedrud