ページ内ナビ
概要
KamalはDocker化したWeb applicationをbare metalやcloud VMへdeployするRuby製toolです。SSHKitで複数serverへcommandを実行し、kamal-proxyで新旧container間のtrafficを切り替えてzero-downtime deploymentを行います。Rails向けに始まりましたが、DockerでcontainerizeできるWeb app全般を対象にします。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
Docker imageをbuild・registry経由でserverへ配布する
KamalはapplicationのDockerfileからimageをbuildしてregistryへpushし、対象serverへpullしてcontainerを起動する一連のdeployを自動化します。
kamal-proxyで新旧containerのtrafficを切り替える
新versionがhealth checkへ応答した後にkamal-proxyがtrafficを切り替え、旧containerを停止することでzero-downtime releaseを実現します。
向いている用途
Kubernetesを導入せずDocker hostへ直接deployしたい場合に向く
Dockerが動くVMやbare metalを少数〜複数台運用し、application deployを軽量なtoolchainで統一したいteamに向きます。
出典:[1]
導入前の確認
kamal setupはremote hostへDocker導入やcontainer起動を行う
初回kamal setupはSSH接続、必要に応じたDocker install、registry login、image build/push/pull、proxyとapplication container起動まで実行します。実行前に対象server・権限・networkを確認してください。
出典:[2]
registry・secret・SSH keyの管理はdeployment設計の一部になる
private registry credentialやapplication secretを.kamal/secretsとenvironmentから扱うため、CIやoperator端末を含めたcredential保護とrotation方針が必要です。
出典:[2]
参考にした公式資料
- [1]Kamal v2.12.0 README(2026-10-03)
- [2]Kamal installation guide(2026-10-03)
- [3]Kamal init command(2026-10-03)
- [4]Kamal v2.12.0 release(2026-10-03)
- [5]Kamal MIT license(2026-10-03)
編集部からの補足
Kubernetes clusterを用意せず、Dockerが動くVMやbare metalへapplicationを直接配備したいteamに向きます。手軽さの代わりにSSH権限、registry、secrets、host patchingやbackupなどserver運用の責任範囲は自分たちで明確にしてください。
3ステップで試す
- 1
Kamal 2.12.0を導入する
Ruby環境へstable releaseをversion固定で導入します。
gem install kamal -v 2.12.0 - 2
CLI versionを確認する
remote serverへ接続せず、対象versionのKamal CLIが起動することを確認します。
kamal version - 3
local deploy設定のstubを生成する
config/deploy.yml、.kamal/secrets、sample hooksをlocalに生成します。kamal setupはremote hostを変更するため、このQuick Startでは実行しません。
mkdir kamal-demo && cd kamal-demo && kamal init
成長
成長の推移 · 直近30日
14,627 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 2
- Open PR
- 86
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- OpenComputer558 Stars
共通タグ 2件 · 共通カテゴリ 1件
agentをcodeで定義し、versioned deploymentとしてmanaged cloud runtimeへ配備・session運用する
TypeScript - Maybe54,280 Stars
共通タグ 2件 · 同じ言語
資産・取引・予算・投資をself-hostする個人資産管理app。ただしv0.6.0で開発終了
Ruby - Mastodon50,345 Stars
共通タグ 2件 · 同じ言語
community policyを持つserverをActivityPubでFediverseへ接続する分散SNS
Ruby - Chatwoot37,488 Stars
共通タグ 2件 · 同じ言語
Web chat・email・WhatsApp・social channelをshared inbox・automation・AI supportへ統合する
Ruby - Vagrant27,211 Stars
共通タグ 4件 · 共通カテゴリ 2件 · 同じ言語
Vagrantfileでprovider差を隠し、portableな開発環境を配布するsource-available tool
Ruby - Jenkins26,615 Stars
共通タグ 3件 · 共通カテゴリ 2件
Job・Pipeline・pluginでbuild・test・analysis・deploymentを自動化するJava automation server
Java
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。