PodmanとCertbotを使いHTTPS化したDifyを構築する(2)

仮想マシンを用意して、Podmanをインストールします。

LTS版のLinuxディストリビューションを選択した場合、一般的なパッケージマネージャによるインストールでは
最新バージョンのインストールやセキュリティパッチ適用等出来ないことがあります。

よって、今回はLinuxbrewにてPodmanをインストールします。
※LinuxbrewはHomebrew公式ページにて記載されているコマンドを実行することでインストールできます。

インストールしたらPATHを通すことでbrewコマンドによるソフトウェアインストールが可能となります。
※Linuxbrewインストール後に出力される「Next steps:」にパスを通す説明があります。

下記コマンドでPodmanをインストールします。

brew install podman podman-compose

また、今回の検証環境ではUbuntu 24.04 LTSを使用しましたが、以下のパッケージが不足しており、Podmanの実行が出来なかったため別途インストールしています。

sudo apt install uidmap

構築中は気付きにくいですが、Podmanはログインユーザーのプロセス内で動いています。
そのためsshログアウト等によりPodmanが停止してDifyへ接続できなくなります。
これに対処する方法として、loginctlコマンドでユーザーログアウト後もプロセスが残るように設定します。

loginctl enable-linger <ユーザー名>

※本番環境などにおいては、プロセスを稼働させる専用ユーザーを用意することをお勧めいたします。

細かな部分として、ユーザーがアクセスするWEBサーバのポートを443ポートで受けたい場合、デフォルト構成だと権限不足によりPodmanでは正常に機能しません。(rootlessのため特権ポートの公開不可)
sysctl.confにnet.ipv4.ip_unprivileged_port_start=0を追加して反映することで対応可能となります。

##net.ipv4.ip_unprivileged_port_start=0を追記後下記を実施
sudo sysctl --system

最後に、Podmanでコンテナイメージを稼働させる上で、コンテナのディレクトリにパーミッション設定を行う必要があります。
デフォルトは下記ユーザディレクトリにて稼働しますので、chmod等で設定を行います。

##~/.local/share/containers/配下
chmod -R a+RX

以上で、Podmanの大まかな下準備は整いましたので、次回よりDifyをダウンロードして稼働させます。

(←参考になった場合はハートマークを押して評価お願いします)

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください