Bedrud ドキュメント

すべてのプラットフォーム向けワンコマンドインストール。sudo 不要 — ホームディレクトリ配下にインストールされます。

インストール後のサーバーセットアップについては クイックスタート を参照。パッケージマネージャー、Docker、その他の方法については サーバーインストール を参照。


インストーラーの動作

  1. OS、CPU アーキテクチャ、プラットフォームバリアント(Rosetta 2/WSL)、イニットシステム(systemd/OpenRC/SysV init/コンテナ)を検出
  2. GitHub Releases から正しいバイナリをダウンロード(または --build でソースからビルド)
  3. ~/bin または %USERPROFILE%\bin にインストール(--install-dir でカスタマイズ可能)
  4. インストールディレクトリを PATH に追加(Bash はシェルプロファイル、Windows はレジストリ)
  5. Windows および Linux: TLS、Postgres の設定と初期管理者ユーザーの作成を行うインタラクティブなダイアログを提供
  6. 次のステップを表示

必要なもの

プラットフォーム依存関係
macOS / Linuxcurl + tar
macOS / Linux (--build)curl + git + go + bun + make
WindowsPowerShell 5.1+(Windows 10/11 に同梱)

クイックインストール

curl -fsSL https://bedrud.org/install.sh | bash

シェルを再読み込みして、確認します:

source ~/.bashrc  # または ~/.zshrc
bedrud --version
irm https://bedrud.org/install.ps1 | iex
bedrud --version

フラグとオプション

Bash インストーラー

Usage: curl -fsSL https://bedrud.org/install.sh | bash -s -- [options]
フラグデフォルト説明
--install-dir <dir>~/binバイナリの配置先
--version <ver>latestリリースを固定(例: v1.2.0
--buildオフリリースをダウンロードせずソースからビルド
--branch <name>masterクローンするGitブランチ(--build 必須)
--no-setupオフバイナリのみダウンロード、対話型サーバーセットアップをスキップ
--skip-shellオフシェル RC ファイルや PATH を変更しない
-h, --help使い方を表示して終了

例:

# デフォルト
curl -fsSL https://bedrud.org/install.sh | bash
 
# バージョン固定
curl -fsSL https://bedrud.org/install.sh | bash -s -- --version v1.2.0
 
# ソースからビルド(カスタムブランチ)
curl -fsSL https://bedrud.org/install.sh | bash -s -- --build --branch my-feature
 
# フォークからビルド
BEDRUD_REPO=myuser/bedrud curl -fsSL https://bedrud.org/install.sh | bash -s -- --build
 
# システム全体にインストール
curl -fsSL https://bedrud.org/install.sh | sudo bash -s -- --install-dir /usr/local/bin
 
# CI / 自動化 — シェル設定と対話型セットアップをスキップ
curl -fsSL https://bedrud.org/install.sh | bash -s -- --skip-shell --no-setup

PowerShell インストーラー

Usage: irm https://bedrud.org/install.ps1 | iex

パラメータを渡すには、まずファイルに保存します:

irm https://bedrud.org/install.ps1 -OutFile install.ps1
.\install.ps1 -Version v1.2.0 -InstallDir C:\Tools
パラメータデフォルト説明
-InstallDir <path>$HOME\binbedrud.exe の配置先
-Version <ver>latest特定のリリースバージョンをインストール
-SkipPath$falseインストールディレクトリをユーザー PATH に追加しない
-Build$falseダウンロードせずにソースからビルド
-Branch <name>masterクローンする Git ブランチ(-Build 必須)
-NoSetup$falseダウンロードのみ、インタラクティブなサーバーセットアップをスキップ

例:

# デフォルト
irm https://bedrud.org/install.ps1 | iex
 
# ソースからビルド
.\install.ps1 -Build -Branch main
 
# CI / 自動化 — インタラクティブなセットアップをスキップ
.\install.ps1 -NoSetup -SkipPath

環境変数

変数デフォルトプラットフォーム説明
BEDRUD_INSTALL~/binBash のみインストールディレクトリを上書き(--install-dir と同等)
BEDRUD_REPOthemadorg/bedrud両方GitHub リポジトリを上書き(フォークやミラー用)
BEDRUD_INSTALL=/opt/bedrud curl -fsSL https://bedrud.org/install.sh | bash
BEDRUD_REPO=myorg/bedrud-fork curl -fsSL https://bedrud.org/install.sh | bash
$env:BEDRUD_REPO = "myorg/bedrud-fork"
irm https://bedrud.org/install.ps1 | iex

プラットフォームサポート

ターゲットOSアーキテクチャ備考
darwin_amd64macOSIntel (x86_64)標準
darwin_arm64macOSApple Silicon (M1/M2/M3/M4)Rosetta 2 自動検出
linux_amd64Linuxx86_64静的バイナリ — すべてのディストリビューション
linux_arm64LinuxARM64静的バイナリ — すべてのディストリビューション
freebsd_amd64FreeBSDx86_64標準
windows_amd64Windowsx86_64標準
windows_arm64WindowsARM64標準

エッジケースの検出

Rosetta 2(Apple Silicon 上の macOS Intel)

検出: sysctl -n sysctl.proc_translated1 を返します。 影響: ネイティブ ARM パフォーマンスのため darwin_amd64darwin_arm64 に切り替えます。

コンテナ環境(Docker、Kubernetes 等)

検出: /.dockerenv/run/.containerenv/proc/1/commdocker-inittinicontainerdrunc 用)、および /proc/1/cgroupdockerkubepodscontainerd 用)をチェックします。 影響: サービスファイルのインストールはスキップされます。インストーラーは手動起動コマンドを表示します:

# フォアグラウンド
/usr/local/bin/bedrud run --config /etc/bedrud/config.yaml
 
# バックグラウンド
nohup /usr/local/bin/bedrud run --config /etc/bedrud/config.yaml \
  > /var/log/bedrud/bedrud.log 2>&1 &

Docker で適切なサービス管理を行うには、--init または tini を PID 1 として使用してください。


イニットシステムのサポート

インストーラーはイニットシステムを自動検出し、サーバーセットアップに適切なサービスファイルを作成します:

イニットシステム検出方法サービスファイル管理コマンド
systemd/run/systemd/system が存在/etc/systemd/system/*.servicesystemctl
OpenRC/sbin/openrc が存在/etc/init.d/*(OpenRC 形式)rc-servicerc-update
SysV initservice コマンドが利用可能/etc/init.d/*(LSB 形式)serviceupdate-rc.d
コンテナ/.dockerenv/proc/1/comm/proc/1/cgroupなし — 手動起動バイナリ直接実行または nohup

対応環境:ほとんどのLinuxディストリビューション(systemd、OpenRC、SysV init)、WSL1、およびLinuxコンテナ。コンテナ環境は自動検出されます — サービスファイルのインストールはスキップされ、手動起動の手順が表示されます。


インストールフロー

  1. Windows チェック — Bash で MINGW/MSYS/CYGWIN を検出? PowerShell にリダイレクト。
  2. WSL チェック — PowerShell で WSL を検出? Bash にリダイレクト。
  3. 依存関係チェック — Bash: curl + tar。PowerShell: (デフォルトなし)。ビルド: git + go + bun + make
  4. プラットフォーム検出uname (Bash) または RuntimeInformation (PowerShell) で OS + アーキテクチャを取得。
  5. バイナリのインストール — いずれか:
    • ダウンロードモード (デフォルト): zip/tar.xz をダウンロードして展開。
    • ビルドモード (--build): git clonebun installgo mod downloadmake build
  6. 検証bedrud --version を実行。
  7. PATH チェック — 既に PATH にある? スキップ。それ以外 → RC ファイル (Bash) またはレジストリ (PowerShell) を変更。
  8. インタラクティブセットアップ — ドメイン、TLS、Postgres、管理者ユーザー作成の Q&A。
  9. 完了 — 成功メッセージ + アクセス URL を表示。

ダウンロード URL の形式: github.com/{repo}/releases/{ver}/bedrud_{TARGET}.tar.xz

ビルドモードは github.com/{repo} からクローンし make build を実行します(出力: server/dist/bedrud)。


PATH とシェル設定

--skip-shell が指定されていない場合、インストーラーはインストールディレクトリを PATH に追加します。

シェルRC ファイル
fish~/.config/fish/config.fish
zsh$ZDOTDIR/.zshrc(デフォルト ~/.zshrc
bash (macOS)~/.bash_profile、次に ~/.bashrc
bash (Linux)~/.bashrc、次に ~/.bash_profile

追加される内容:

# bedrud
export PATH="$HOME/bin:$PATH"  # bedrud

# bedrud コメントマーカーにより重複エントリが防止されるため、再実行しても安全です。

Windows: レジストリレベルで [Environment]::SetEnvironmentVariable("PATH", ..., "User") を使用します。RC ファイルは不要です。

インストール後にシェルを再読み込み:

source ~/.bashrc    # bash
source ~/.zshrc     # zsh
source ~/.config/fish/config.fish  # fish

オフライン / エアギャップインストール

ダウンロードと転送

curl -fsSL -o bedrud.tar.xz \
  https://github.com/themadorg/bedrud/releases/latest/download/bedrud_linux_amd64.tar.xz
scp bedrud.tar.xz airgapped-server:/tmp/
# ターゲットマシンで:
tar -xf /tmp/bedrud.tar.xz -C /tmp/bedrud-extracted
mv /tmp/bedrud-extracted/bedrud ~/bin/
chmod +x ~/bin/bedrud

セルフホストミラー

BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bash

直接バイナリ

Releases からダウンロードし、展開して PATH 内のディレクトリに移動します。


アンインストール

rm ~/bin/bedrud
# シェル RC から PATH 行を削除("# bedrud" を検索):
#   ~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.config/fish/config.fish

サーバーインストール(systemd、OpenRC、SysV init)の場合:

sudo bedrud uninstall

Windows の場合:

Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# システムのプロパティ → 環境変数から PATH を削除

トラブルシューティング

command not found: bedrud

source ~/.bashrc    # シェルを再読み込み
echo $PATH | tr ':' '\n' | grep "$HOME/bin"  # PATH を確認

見つからない場合:

echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Failed to download bedrud

  1. インターネット接続を確認
  2. Releases でターゲットが存在するか確認
  3. 特定のバージョンを試す: --version v1.0.0
  4. お使いのプラットフォームにはまだビルド済みバイナリが存在しない可能性があります

macOS: Rosetta 下で x64 を実行している(遅い)

ネイティブ ARM を強制:

arch -arm64 curl -fsSL https://bedrud.org/install.sh | arch -arm64 bash

Windows: “running scripts is disabled”

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://bedrud.org/install.ps1 | iex

Windows: WSL を検出

WSL ターミナル(例: Windows 上の Ubuntu)で実行している場合、PowerShell インストーラーはそれを検出し、Bash インストーラーを実行するように促します。これにより、WSL 内の Linux 環境に Bedrud が正しくインストールされることが保証されます。

Windows: ARM64 デバイス (Surface Pro 等)

インストーラーは自動的に windows_arm64 を検出し、ネイティブバイナリをダウンロードします。特定のアーキテクチャを強制する必要がある場合は、Releases から特定の zip ファイルをダウンロードしてください。

Windows: Postgres 用の Docker Desktop

セットアップ中に Docker で Postgres を実行することを選択した場合は、Docker Desktop がインストールされ、実行されていることを確認してください。インストーラーは自動的にコンテナを起動しようとします。