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 で作成されるイニットサービス livekit.service
実装: server/internal/livekit/server.go
--run
bedrud run のエイリアス。同じ --config フラグの動作。イニットサービス bedrud.service で使用されます。
bedrud --run --config <path>install
Debian/Linux システムに Bedrud をインストールします。イニットサービス(systemd、OpenRC、SysV init — 自動検出)、設定ファイル、ディレクトリ、TLS 証明書を作成します。
bedrud install [flags]| フラグ | デフォルト | 説明 |
|---|---|---|
--tls | false | HTTPS を有効化(--self-signed と同じ) |
--self-signed | false | 自己署名 TLS 証明書を生成 |
--no-tls | false | TLS を完全に無効化(プレーン 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 ポートを変更 |
--fresh | false | インストール前に既存のインストールを削除 |
--behind-proxy | false | CDN/リバースプロキシの背後(Cloudflare、nginx) |
--external-livekit | "" | 完全に外部の LiveKit サーバーの URL(別マシン) |
--livekit-domain | "" | ローカル LiveKit サーバー用の別ドメイン(CDN をバイパス) |
処理内容:
--freshの場合、以前のインストールを停止して削除- 非インタラクティブでフラグ未指定の場合、IP、ドメイン、メール、TLS モードを入力として求める
- ディレクトリを作成:
/etc/bedrud、/var/lib/bedrud、/var/lib/bedrud/certs、/var/log/bedrud - バイナリを
/usr/local/bin/bedrudにコピー - Bedrud サーバー設定を
/etc/bedrud/config.yamlに生成 - LiveKit メディアサーバー設定を
/etc/bedrud/livekit.yamlに生成 - 自己署名証明書を
/etc/bedrud/cert.pem+/etc/bedrud/key.pemに生成(TLS 有効でカスタム証明書未指定時) - LiveKit イニットサービスを作成(外部 LiveKit 使用時を除く)
- Bedrud イニットサービスを作成
- 検出されたイニットシステムでサービスを有効化・開始
- アクセス 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/linux.go
関連ドキュメント: インストールガイド • デプロイメントガイド • バックエンドデプロイメントロジック
uninstall
システムから Bedrud を削除します。
bedrud uninstall削除内容:
- すべてのイニットシステムでサービスを停止・無効化:
bedrud、livekit - systemd、OpenRC、SysV init のサービスファイルを削除
- バイナリを削除:
/usr/local/bin/bedrud、/tmp/bedrud、/tmp/bedrud-livekit-server - ディレクトリを削除:
/etc/bedrud、/var/lib/bedrud、/var/log/bedrud - システムユーザーを削除: bedrud
実装: server/internal/install/ (linux.go, init.go, sysv.go, openrc.go)
関連ドキュメント: インストールガイド - アンインストール
user
Bedrud データベースのユーザーを管理します。
bedrud user [--config <path>] <subcommand> [flags]| グローバルフラグ | デフォルト | 説明 |
|---|---|---|
--config | /etc/bedrud/config.yaml | Bedrud 設定ファイルのパス(データベースの場所特定用) |
create
ローカル認証(bcrypt ハッシュパスワード)で新しいユーザーを作成します。
bedrud user [--config <path>] create --email <email> --password <password> --name <name> [--admin]必須フラグ:
--email: ユーザーのメールアドレス--password: ユーザーのパスワード。保存前に bcrypt でハッシュ化--name: ユーザーの表示名
オプションフラグ:
--admin: ユーザーを superadmin として作成
アクセスレベル: デフォルトは user。--admin を使用すると、1つのコマンドで superadmin を作成できます。
delete
メールアドレスでユーザーを削除します。
bedrud user [--config <path>] delete --email <email>promote
ユーザーのロールをアクセス配列の置き換えで設定します。デフォルト: superadmin。
bedrud user [--config <path>] promote --email <email> [--role <role>]| フラグ | デフォルト | 説明 |
|---|---|---|
--role | superadmin | 対象ロール: superadmin, admin, moderator, user, guest |
例:
# superadmin 権限を付与 (デフォルト)
bedrud user promote --email admin@example.com
# admin 権限を付与
bedrud user promote --email admin@example.com --role admin
# moderator 権限を付与
bedrud user promote --email mod@example.com --role moderator各ロールは特定のアクセス配列にマップされます:
superadmin→['superadmin', 'user']admin→['admin', 'user']moderator→['moderator', 'user']user→['user']guest→['guest']
demote
ユーザーから特定のロールを削除します。デフォルト: superadmin。
bedrud user [--config <path>] demote --email <email> [--role <role>]| フラグ | デフォルト | 説明 |
|---|---|---|
--role | superadmin | 削除するロール: superadmin, admin, moderator |
削除後、ユーザーにロールが残っていない場合、user アクセスが自動的に追加されます。
実装: server/internal/usercli/usercli.go
cert
TLS証明書を管理します。自己署名証明書(bedrud install --self-signedによって生成)を使用する場合に関連します。
bedrud cert [--config <path>] <subcommand>| グローバルフラグ | デフォルト | 説明 |
|---|---|---|
--config | /etc/bedrud/config.yaml | Bedrud設定ファイルへのパス |
--algo | "" | 鍵アルゴリズム: ed25519, ecdsa256, rsa2048, rsa4096 (デフォルト: 既存の証明書から検出) |
renew
自己署名TLS証明書を手動で更新します。既存の証明書の鍵アルゴリズムを検出し、同じタイプで再生成します(デフォルト: Ed25519)。新しい証明書は1825日間(約5年)有効です。
bedrud cert renew [--config <path>]サーバーは有効期限が30日未満になると、内蔵スケジューラーを介して毎日自動的に証明書を更新します。このコマンドは手動または臨時の更新用です。
SANs: サーバー設定から導出されます — domain(設定されている場合)、およびlocalhost、127.0.0.1、::1。
実装: server/internal/utils/tls.go (RenewSelfSignedCert)
info
TLS証明書のメタデータをstdoutに出力します。
bedrud cert info [--config <path>]出力フィールド: subject, issuer, notBefore, notAfter, daysRemaining, status (valid/expiring/error), SANs。
実装: server/internal/utils/tls.go (ValidateTLSCertPair)
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 installLet’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 7882CDN 背後 + 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 [--config <path>] create --email admin@example.com --password secret123 --name "Admin User" --admin
# または一般ユーザーを作成してから昇格
bedrud user [--config <path>] create --email admin@example.com --password secret123 --name "Admin User"
bedrud user [--config <path>] promote --email admin@example.com
# 一般ユーザーを作成
bedrud user [--config <path>] create --email user@example.com --password pass456 --name "Regular User"
# ユーザーを削除
bedrud user [--config <path>] delete --email user@example.com
# 管理者アクセスを削除
bedrud user [--config <path>] demote --email admin@example.com関連ドキュメント
- インストールガイド - 詳細な
bedrud installの手順、TLS トポロジー、インストール後のステップ - 設定リファレンス - サーバーと LiveKit の設定ファイル構造
- バックエンドデプロイメントロジック -
installとuninstallの内部動作 - デプロイメントガイド - イニットシステムサービスを含む完全なデプロイメントオプション