Bedrud 文档

Bedrud 被设计为一个自包含的视频会议”一体机”。单个可执行二进制文件打包了所需的一切 - 前端、后端和 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)

# 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

安装程序的工作流程

运行 bedrud install 时,会执行以下操作:

步骤 操作
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.dbSQLite 数据库
/var/log/bedrud/bedrud.log应用日志

所有选项请参阅配置参考

安装后

创建第一个管理员

提升用户为管理员

通过 Web 界面注册用户,然后提升为管理员:

			
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 中的日志