ルートの Makefile は Bedrud モノレポの中心的なビルドオーケストレーションツールです。開発、ビルド、デプロイのためのコマンドをすべてのプラットフォーム向けに提供します。
使い方
make <target>
make help # 利用可能なターゲットをすべて表示開発ターゲット
| ターゲット | 説明 |
|---|---|
make init | すべての依存関係をインストール(LiveKit + 設定 + bun + Go) |
make dev | LiveKit + サーバー(ホットリロード) + Web を同時に実行 |
make dev-web | フロントエンドの開発サーバーのみ実行 |
make dev-server | バックエンドサーバー + LiveKit を実行 |
make dev-server-hot | Air でホットリロードしてバックエンドを実行 |
make dev-api | バックエンドのみ実行(LiveKit なし) |
make dev-livekit | ローカルの LiveKit サーバーを実行 |
make dev-site | Astro サイトの開発サーバーを実行 |
make dev-ios | iOS プロジェクトを Xcode で開く |
make dev-android | Android プロジェクトを Android Studio で開く |
make init
新しい開発環境の完全セットアップ:
- LiveKit サーバーバイナリを
~/.local/bin/にダウンロード(PATH にない場合) config.local.yamlテンプレートからserver/config.yamlを作成(存在しない場合)server/internal/livekit/bin/livekit-serverに LiveKit 組み込みプレースホルダーを作成- Go ホットリロード用の
airをインストール(未インストールの場合) - 依存関係をインストール:
apps/web(bun)、apps/site(bun)、server(go mod)
make dev
3つの開発サービスを同時に起動します。Ctrl+C ですべて停止します:
- LiveKit -
localhost:7880 - Server -
localhost:8090 - Web -
localhost:3000
ビルドターゲット
| ターゲット | 説明 |
|---|---|
make build | フロントエンド + バックエンドをビルド(組み込み) |
make build-front | フロントエンドのみビルド |
make build-back | バックエンドのみビルド |
make build-dist | 本番用 linux/amd64 tarball をビルド |
make build-site | Astro サイトをビルド(SSG) |
make build
本番ビルド全体:
apps/webでbun run buildを実行 — React アプリをビルドapps/web/dist/client/*をserver/frontend/にコピー- フロントエンドを組み込んだ Go バイナリをビルド
出力:server/dist/bedrud
make build-dist
圧縮済みの本番配布ファイルを作成します:
make buildを実行linux/amd64向けにクロスコンパイル(デバッグシンボルを除去)dist/bedrud_linux_amd64.tar.xzを作成
デスクトップターゲット
| ターゲット | 説明 |
|---|---|
make dev-desktop | デスクトップアプリをビルドして実行(debug) |
make build-desktop | 最適化されたリリースバイナリをビルド |
ローカル単一バイナリ
| ターゲット | 説明 |
|---|---|
make local-build | フロントエンド + バックエンドを1つのバイナリにビルド |
make local-run | ビルド + ローカル実行(SQLite、組み込み LiveKit) |
make local-run
ローカル設定で単一バイナリをビルドして起動:
CONFIG_PATH=server/config.local.yaml server/dist/bedrud run起動後 http://localhost:8090 を開いてください。
API ドキュメント
| ターゲット | 説明 |
|---|---|
make swagger-gen | アノテーションから Swagger ドキュメントを再生成 |
make swagger-open | ブラウザで Swagger UI を開く |
make scalar-open | ブラウザで Scalar UI を開く |
swag CLI が必要(go install github.com/swaggo/swag/cmd/swag@latest)。swagger-open と scalar-open はサーバー起動中に使用可能です。
Android ターゲット
| ターゲット | 説明 |
|---|---|
make build-android-debug | デバッグ APK をビルド |
make build-android | リリース APK をビルド(キーストアが必要) |
make install-android | リリース APK を接続済みデバイスにインストール |
make release-android | リリース APK をビルド + インストール |
APK の出力パス
- デバッグ:
apps/android/app/build/outputs/apk/debug/app-debug.apk - リリース:
apps/android/app/build/outputs/apk/release/app-release.apk
iOS ターゲット
| ターゲット | 説明 |
|---|---|
make build-ios | iOS アーカイブをビルド(Release) |
make export-ios | アーカイブから IPA をエクスポート |
make build-ios-sim | iOS シミュレータ用にビルド(Debug) |
出力パス
- アーカイブ:
apps/ios/build/Bedrud.xcarchive - IPA:
apps/ios/build/export/Bedrud.ipa
デプロイターゲット
| ターゲット | 説明 |
|---|---|
make deploy ARGS=... | デプロイ CLI ツールを実行 |
例
make deploy ARGS="--auto-config --ip 1.2.3.4 --user root --domain meet.example.com"tools/cli/bedrud.py の Python CLI を指定された引数で実行します。
テスト
| ターゲット | 説明 |
|---|---|
make test-back | バックエンドのテストを実行(go test -v -count=1 ./...) |
クリーンターゲット
| ターゲット | 説明 |
|---|---|
make clean | ビルド成果物とコンパイル済みバイナリを削除 |
make full-clean | 成果物 + インストール済みの依存関係をすべて削除 |
make clean
以下を削除します:
dist/— 配布用 tarballserver/dist/— コンパイル済みサーバーバイナリapps/web/dist/— React ビルド出力server/frontend/の内容 — 組み込みフロントエンドアセットapps/android/app/build/— Android ビルド出力apps/ios/build/— iOS ビルド出力apps/site/dist/— Astro サイトビルド出力target/— Rust/Cargo ビルド出力
make full-clean
clean の内容に加えて以下も削除します:
apps/web/node_modules/apps/site/node_modules/apps/android/.gradle/apps/android/build/- Go モジュールキャッシュ(
go clean -modcache)
実行後、make init を再実行して依存関係を再インストールしてください。