Dockerベースの開発環境マネージャー。コンテナ化された開発環境をPluginによるプロジェクト管理で提供します。
devbaseは、Docker Composeを使った再現性の高い開発環境を提供するCLIツールです。プロジェクトはPluginとして外部リポジトリで管理され、devbase plugin installでインストールします。
- Pluginベースのプロジェクト管理: 外部リポジトリからプロジェクト設定をインストール・更新
- コンテナ化された開発環境: Docker Composeベースで再現性の高い環境を提供
- 豊富なツールセット: Docker CLI、AWS CLI、gcloud SDK、Terraform、Node.js、AI CLIツールがプリインストール
- 複数コンテナの並行開発:
devbase project scaleで既存コンテナを再起動せずにスケール可能 - データ永続化: 名前付きボリュームでコンテナ再起動後もデータを保持
- スナップショット管理:
/home/ubuntu共通ボリュームの増分バックアップ・復元・世代管理 - 環境変数の自動収集:
devbase env initでAWS/Git/GCP認証情報を対話的に設定 - 対話的なプロジェクト選択:
devbase listの TUI メニュー(矢印キー移動・名前絞り込み対応)から起動対象を選択。起動中なら再起動 (up) / 再ビルド (rebuild) / 停止 (down) も選べます - キャッシュ無効リビルド:
devbase rebuild [name]でdocker compose build --no-cache相当のイメージ再ビルドができます
devbase 本体をインストールし、続けてプラグインを導入してプロジェクトを起動します。インストールはワンライナー(推奨)か手動のどちらかを選んでください。
curl -fsSL https://dl.basex.jp/i | bash && . ~/devbase/bin/rc~/devbase に clone(既存なら更新)して devbase init まで自動実行します(uv の自動導入・PATH/補完の登録・plugins.yml 生成を含む)。末尾の . ~/devbase/bin/rc でいま開いている端末でも devbase が即使えます(新しく開くターミナルは自動で有効)。
配置先を
DEVBASE_INSTALL_DIRで変えた場合は~/devbase/bin/rcも同じパスに合わせてください。. ~/devbase/bin/rcを省いた... | bashだけでも導入は完了します。
環境変数で挙動を上書きできます。
| 変数 | 既定値 | 用途 |
|---|---|---|
DEVBASE_INSTALL_DIR |
$HOME/devbase |
配置先ディレクトリ |
DEVBASE_INSTALL_REPO |
https://github.com/devbasex/devbase.git |
clone 元(fork / テスト用) |
DEVBASE_INSTALL_REF |
main |
チェックアウトする branch / tag |
# 例: 別ディレクトリへ特定タグを入れる(パイプではなく保存実行でも env は同様に効きます)
DEVBASE_INSTALL_DIR=~/work/devbase DEVBASE_INSTALL_REF=v1.2.3 \
bash -c "$(curl -fsSL https://dl.basex.jp/i)"git clone https://github.com/devbasex/devbase.git
cd devbase
./bin/devbase init
. ./bin/rc # いまのシェルで devbase を有効化(PATH / 補完)インストール方法を問わず、以降の手順は共通です。
# プラグインのインストール
devbase plugin repo add user/repo # リポジトリ登録(init でサンプルレジストリ devbasex/devbase-samples は自動登録済み)
devbase plugin install <name> # Plugin名でインストール
# プロジェクトの起動
cd ~/devbase/projects/your-project # 手動セットアップでは clone 先 (例: ./projects/your-project)
devbase env init # 環境変数の設定(初回のみ)
devbase up # コンテナを起動(初回はイメージビルドを含むため時間がかかります)
devbase login # コンテナにログイン詳細なセットアップ手順は はじめに を参照してください。
devbaseのプロジェクトはPluginとして管理されます。Pluginはプラグインレジストリ(複数の Plugin を束ねた Git リポジトリ)から devbase plugin install でインストールします。
| レジストリ | Visibility | 役割 |
|---|---|---|
devbasex/devbase-samples |
public | サンプルレジストリ(devbase init 時に自動登録) |
詳細は プラグインレジストリ を参照してください。
# リポジトリ登録(GitHubショートハンド対応)
devbase plugin repo add user/repo
# インストール
devbase plugin install adminer # 名前指定
devbase plugin install user/repo:plugin-name # リポジトリ直接指定
devbase plugin install /path/to/local:name --link # ローカルリンク
# 管理
devbase plugin list # 一覧表示
devbase plugin update # 全Plugin更新
devbase plugin uninstall <name> # アンインストールPluginをインストールすると、plugins/<name>/にリポジトリがクローンされ、内部のプロジェクトがprojects/にシンボリックリンクとして自動作成されます。
devbaseのコマンドは4つのグループにまとめられています。
| グループ | 略記 | 説明 |
|---|---|---|
project |
— | プロジェクト管理(up / down / login / ps / logs / scale / build / list) |
env |
— | 環境変数管理(init / sync / list / set / get / delete / edit / project / export / import) |
plugin |
pl |
プラグイン管理(list / install / uninstall / update / info / sync / repo) |
snapshot |
ss |
スナップショット管理(create / list / restore / copy / delete / rotate) |
container(略記ct)グループは非推奨です。devbase project <sub>のエイリアスとして当面動作しますが、非推奨警告を表示します。新しいコマンドはprojectを使用してください。
- ショートカット:
up [name],down [name],login [index],build [image],ps [name],scale [name] <num>,listはトップレベルから直接使用可能(projectグループへ自動転送。logsはシノニムを持ちません)。なおbuildのみ挙動が一部異なります(詳細は CLI リファレンス) - プレフィックス略記:
devbase p l→devbase plugin list - トップレベルコマンド:
init,status
全コマンドの構文・オプション・使用例は CLIリファレンス を参照してください。
- Docker Engine 20.10以上
- Docker Compose v2.x以上
- Bash 4.0以上 または Zsh 5.0以上
- Python 3.10以上
- Git
詳細なドキュメントは docs/ に整備されています。
| ドキュメント | 内容 |
|---|---|
| はじめに | 前提条件、初回セットアップ、日常ワークフロー |
| CLIリファレンス | 全コマンドの構文・オプション・使用例 |
| プラグインレジストリ | 公開・社内レジストリの一覧と追加方法 |
| 環境変数ガイド | 3レベル構造、コレクター、ソース同期 |
| 環境変数の export/import ガイド | バンドル形式・age 暗号化・S3 連携・merge/replace の運用 |
| コンテナ操作ガイド | ライフサイクル、並行開発、ボリューム構造 |
| スナップショットガイド | 増分バックアップ、世代管理、復元手順 |
| トラブルシューティング | カテゴリ別の問題と解決策 |
| ドキュメント | 内容 |
|---|---|
| クイックスタート | 最小構成プラグインの作成手順 |
| plugin.ymlリファレンス | プラグイン定義ファイルの全フィールド |
| compose.ymlガイドライン | Docker Compose設定のベストプラクティス |
| ドキュメント | 内容 |
|---|---|
| アーキテクチャ | ディレクトリ構造、モジュール設計、データフロー |
| コントリビューション | 開発環境構築、コーディング規約、PRルール |
| 拡張ガイド | 新コマンド・コレクター・イメージの追加方法 |
- リポジトリ: devbasex/devbase
- Issue報告: GitHub Issues