Bedrud ドキュメント

bedrud コマンドラインインターフェースの完全なリファレンス。

概要

# サブコマンド形式
bedrud <command> [flags]
 
# フラグ形式
bedrud --livekit --config <path>
bedrud --run --config <path>

コマンド

run / server

Bedrud 会議サーバーを API、組み込み Web フロントエンド、組み込み LiveKit(設定されている場合)とともに起動します。

bedrud run    [--config <path>]
bedrud server [--config <path>]
フラグデフォルト説明
--config$CONFIG_PATH 環境変数 → "config.yaml"Bedrud YAML 設定ファイルのパス

動作:

  • 指定パスまたはデフォルトから設定を読み込み
  • 内部モード設定時は組み込み LiveKit を起動
  • SQLite/PostgreSQL データベースを初期化しマイグレーションを実行
  • すべての API ルートを持つ Fiber HTTP サーバーを作成
  • 組み込み React フロントエンドを提供
  • ACME(Let’s Encrypt)、自己署名 TLS、手動 TLS、またはプレーン HTTP に対応
  • SIGTERM/SIGINT でグレースフルシャットダウン

実装: server/internal/server/server.go


--livekit

組み込み LiveKit メディアサーバーのみを起動します。Go embed からバイナリを一時ディレクトリに展開します。

bedrud --livekit --config <path>
フラグデフォルト説明
--config(必須)LiveKit YAML 設定ファイルのパス

使用元: bedrud install で作成される systemd livekit.service

実装: server/internal/livekit/server.go


--run

bedrud run のエイリアス。同じ --config フラグの動作。systemd bedrud.service で使用されます。

bedrud --run --config <path>

install

Debian/Linux システムに Bedrud をインストールします。systemd サービス、設定ファイル、ディレクトリ、TLS 証明書を作成します。

bedrud install [flags]
フラグデフォルト説明
--tlsfalseHTTPS を有効化(--self-signed と同じ)
--self-signedfalse自己署名 TLS 証明書を生成
--no-tlsfalseTLS を完全に無効化(プレーン HTTP)。--tls--self-signed を上書き
--ip自動検出自動検出されたサーバー IP アドレスを上書き
--domain""Let’s Encrypt または自己署名証明書用ドメイン名
--email""Let’s Encrypt 登録用メールアドレス
--port"443" (TLS) / "8090" (HTTP)リッスンポートを変更
--cert""既存の PEM 証明書ファイルのパス
--key""既存の PEM 秘密鍵ファイルのパス
--lk-port"7880"LiveKit API/WebSocket ポートを変更
--lk-tcp-port"7881"LiveKit RTC TCP ポートを変更
--lk-udp-port"7882"LiveKit RTC UDP ポートを変更
--freshfalseインストール前に既存のインストールを削除
--behind-proxyfalseCDN/リバースプロキシの背後(Cloudflare、nginx)
--external-livekit""完全に外部の LiveKit サーバーの URL(別マシン)
--livekit-domain""ローカル LiveKit サーバー用の別ドメイン(CDN をバイパス)

処理内容:

  1. --fresh の場合、以前のインストールを停止して削除
  2. 非インタラクティブでフラグ未指定の場合、IP、ドメイン、メール、TLS モードを入力として求める
  3. ディレクトリを作成: /etc/bedrud/var/lib/bedrud/var/lib/bedrud/certs/var/log/bedrud
  4. バイナリを /usr/local/bin/bedrud にコピー
  5. Bedrud サーバー設定を /etc/bedrud/config.yaml に生成
  6. LiveKit メディアサーバー設定を /etc/bedrud/livekit.yaml に生成
  7. 自己署名証明書を /etc/bedrud/cert.pem + /etc/bedrud/key.pem に生成(TLS 有効でカスタム証明書未指定時)
  8. systemd livekit.service を作成(外部 LiveKit 使用時を除く)
  9. systemd bedrud.service を作成
  10. systemctl daemon-reload を実行し、両サービスを有効化して起動
  11. アクセス URL を表示

TLS オプション:

  • --domain + --email → ACME(Let’s Encrypt)
  • --self-signed または --tls → 自己署名証明書
  • --cert + --key → カスタム証明書
  • --no-tls → プレーン HTTP のみ

LiveKit トポロジー:

  • デフォルト(組み込み): LiveKit はローカルで実行され、Bedrud の /livekit 経由でプロキシ
  • --livekit-domain: LiveKit はローカルで実行されるが、クライアントは独自ドメインで直接接続
  • --external-livekit: ローカル LiveKit なし。リモートサーバーに接続

実装: server/internal/install/debian.go

関連ドキュメント: インストールガイドデプロイメントガイドバックエンドデプロイメントロジック


uninstall

システムから Bedrud を削除します。

bedrud uninstall

削除内容:

  • systemd サービスを停止して無効化: bedrudlivekit
  • /etc/systemd/system/ から systemd ユニットファイルを削除
  • バイナリを削除: /usr/local/bin/bedrud/tmp/bedrud/tmp/bedrud-livekit-server
  • ディレクトリを削除: /etc/bedrud/var/lib/bedrud/var/log/bedrud

実装: server/internal/install/debian.go

関連ドキュメント: インストールガイド - アンインストール


user

Bedrud データベースのユーザーを管理します。

bedrud user <subcommand> [--config <path>] <flags>
グローバルフラグデフォルト説明
--config/etc/bedrud/config.yamlBedrud 設定ファイルのパス(データベースの場所特定用)

create

ローカル認証(bcrypt ハッシュパスワード)で新しいユーザーを作成します。

bedrud user create --email <email> --password <password> --name <name>

必須フラグ:

  • --email: ユーザーのメールアドレス
  • --password: ユーザーのパスワード。保存前に bcrypt でハッシュ化
  • --name: ユーザーの表示名

アクセスレベル: user(superadmin ではない)。管理者権限を付与するには promote を使用。

delete

メールアドレスでユーザーを削除します。

bedrud user delete --email <email>

promote

ユーザーに superadmin アクセスを付与します。

bedrud user promote --email <email>

demote

ユーザーから superadmin アクセスを削除します(user レベルに戻る)。

bedrud user demote --email <email>

実装: server/internal/usercli/usercli.go


help

すべてのコマンドとフラグを含む使用方法メッセージを表示します。

bedrud help

引数なしでも同じ出力が表示されます。printUsage() の出力を表示します。


使用例

基本的な開発サーバーの起動

# カレントディレクトリのデフォルト config.yaml で実行
bedrud run
 
# カスタム設定で実行
bedrud run --config /path/to/config.yaml
 
# 環境変数経由(フォールバック)
export CONFIG_PATH=/etc/bedrud/config.yaml
bedrud run

インタラクティブインストール(入力プロンプト付き)

bedrud install

Let’s Encrypt による非インタラクティブインストール

bedrud install --domain example.com --email admin@example.com

カスタムポートでの自己署名 TLS

bedrud install --self-signed --port 8443 --lk-port 7880 --lk-tcp-port 7881 --lk-udp-port 7882

CDN 背後 + LiveKit 別ドメイン

bedrud install --domain bedrud.example.com --email admin@example.com --livekit-domain lk.example.com --behind-proxy

クリーン再インストール

bedrud install --fresh --domain example.com --email admin@example.com

ユーザー管理

# 最初の管理者ユーザーを作成
bedrud user create --email admin@example.com --password secret123 --name "Admin User"
 
# superadmin アクセスを付与
bedrud user promote --email admin@example.com
 
# 一般ユーザーを作成
bedrud user create --email user@example.com --password pass456 --name "Regular User"
 
# ユーザーを削除
bedrud user delete --email user@example.com
 
# 管理者アクセスを削除
bedrud user demote --email admin@example.com

関連ドキュメント