Kamalで既存イメージをデプロイする(現状)最適解
2024/11/16
みなさん Kamal 使ってますか?
多分この記事で有名になったと思うんですけど
Kamal 2 を使い、インフラに詳しくない人でもNext.jsを296円のVPSにデプロイできるよう、説明してみる - Naofumi
これを使って、開発中のプロダクトではなく単に既存イメージをデプロイする場合どう書くとメンテしやすいかなーと試行錯誤してたら、いい感じの方法を見つけたので共有させて頂きます。
準備
- Docker のインストール
- Kamal のインストール
- Docker Hub アカウント
- Docker Hub のアクセストークン (Read & Write)
手順
kamal init
でコンフィグ等を生成FROM
でイメージをタグ付きで指定した Dockerfile を作成 (コンフィグファイル等がある場合は適宜COPY
すること)config/deploy.yml
を編集 (詳細は後述)kamal setup
でデプロイ
config/deploy.yml
の編集箇所
service
, image
, servers
, registry
はコメントアウトを読めば理解できると思うので割愛します。
proxy

host
, app_port
はコメントアウト通りに編集すればよいのですが、ヘルスチェックがデフォルトで /up
に対して走るので、大半のアプリケーションでエラーが起きます。
proxy.healthcheck.path
を指定することで、このパスを編集できます。
https://kamal-deploy.org/docs/configuration/proxy/#healthcheck
builder

builder.context
を指定することで、docker build
のベースパスを指定してビルドできます。
ごらんの有様だよ!!!
で、俺が産まれたってわけ。
Publish on 2024/10/28
寄付について
当サイトは広告収入によって運営されております。
しかし、広告ブロッカーはプライバシーやセキュリティを保護するために必要です。
そこで、閲覧者に任意で寄付をお願いしております。
受け付けている暗号通貨とアドレスは以下になります。
BTC | bc1q2866agzc4ghavfrc4lh4m5r7n793wdnmvd5kkq |
ETH | 0x742803AF29A31A35D79eb2c522aB7eC76020B7BC |
XMR | 864ArzKhrBx8RvZ5w4RXtDJPKEv58MWk35Bo3q8squFe82LWH8A8Ces5Z4eXTFRPXz4yje7eaVT9LWZRt82DYsBuRa84De7 |
※ETHは他チェーン、その他ERC-20トークンも受け付けております。
よろしくお願いします。