kamalでのデプロイ

DiscourseをKamalでデプロイした方はいますか?

スタンドアロンテンプレートを使用するか、すべての依存コンテナをアクセサリーとして指定したdeploy.ymlを作成するか、どちらかの方法で可能だと推測しています。

ドキュメントによると、スタンドアロンテンプレートはアップグレード時にダウンタイムが長くなるという欠点がありますが、Kamalはゼロダウンタイムデプロイ(旧コンテナを保持し、新しいコンテナがHTTP 200を返すまでリバースプロキシの切り替えを行わない)に対応しているため、この問題は発生しないはずです。

しかし、これは機能しません。同じ PostgreSQL データベースに同時に 2 つのコンテナがアクセスすることはできないからです。起動時にデータベースのマイグレーションを実行する独自のコンテナを構築するか、まだ正式にはサポートされていないがそのような機能を持つ新しいコンテナを使用する必要があります。これを成功させるには、Discourse と Kamal の両方に相当な知識や理解を持つ人が必要です。そして、まだ誰も返信していないことから、そのような人がここにいるようには見えません。

まずは標準的なインストール手順に従い、その後で Kamal との連携方法を検討することをお勧めします。