Amazon Linux 2023上にHTTPSで保護されたDifyを新規構築する
Amazon Linux 2023上にDockerでDifyを起動する手順をメモしておきます。Difyを構成するコンテナ群にはcert-botコンテナが含まれており、サーバ証明書を新規取得・更新する能力を持っています。今回はcert-botコンテナも併用し、サーバ証明書を取得してDifyをHTTPSでサービスします。
Amazon Linux 2023上にDockerでDifyを起動する手順をメモしておきます。Difyを構成するコンテナ群にはcert-botコンテナが含まれており、サーバ証明書を新規取得・更新する能力を持っています。今回はcert-botコンテナも併用し、サーバ証明書を取得してDifyをHTTPSでサービスします。
Dockerの設定方法やトラブルシューティングについては下記などで説明されています。
後者のドキュメント中のDocker デーモンの設定に以下の記載があります。記載の通り、Dockerの設定をカスタマイズしたい場合は「/etc/docker/daemon.jsonを新規作成して設定する」という方法があります。
Docker デーモンを JSON ファイルで設定するには、Linux システム上では /etc/docker/daemon.json にファイルを作成するか、Windows 上では C:\ProgramData\docker\config\daemon.json を作成します。Mac OS ではタスクバーの鯨アイコンから Preferences > Daemon > Advanced を選択します。
/etc/docker/daemon.jsonを作成していない場合、デフォルトでDockerはコンテナイメージなどを「/var/lib/docker」ディレクトリ配下に保存します。不要なコンテナイメージやボリュームが貯まっていくとストレージを圧迫してしまいます。今回は不要になったDocker関連ストレージを削除する方法をメモします。
バックエンドをPostgreSQLにしたn8nをDocker Composeで起動する方法をメモします。尚、Docker Composeでn8nを起動する手順は公式サイトのDocker-Composeに記載されています。
Docker ComposeでDifyを起動している場合のバージョンアップ手順をメモしておきます。
先日、docker composeでDifyを起動するというメモを書きました。Difyへユーザを招待するにはメールアドレスを登録するのですが、デフォルトの状態では「メールアドレスを登録はするものの、実際にメールは送信されない」という動作をします。SMTPの設定を行うことでメールを送信するよう、設定を修正します。
Difyをdocker composeで起動する手順をメモしておきます。今回、Difyはサーバ証明書を利用せず、シンプルにHTTPをListenさせます。docker composeを使った構築方法は公式サイトのDocker Compose デプロイに書かれています。
Dockerコンテナイメージをamd64とarm64の両プラットフォーム向けにマルチプラットフォームビルドする方法は公式サイトのMulti-platform buildsに記載されています。同ページのStrategiesセクションにはマルチプラットフォームビルドに関して以下、3種類の方法が記載されています。
- Using emulation, via QEMU
- Use a builder with multiple native nodes
- Use cross-compilation with multi-stage builds
1番の方法は最も簡単ですが、パフォーマンスが出ないそうです。とは言え、私の場合はそこまで頻繁にイメージ作成するわけではありませんので、最も手軽な1番を実施する方法をメモしておきます。
CML 2.9.0からDockerコンテナがサポートされています。今回はCML 2.9.0と同時にリリースされたリファレンスプラットフォームに含まれている、Chrome/Nginxコンテナを使ってHTTPテストを行う方法をメモしておきます。
CML 2.9.0から新たにコンテナ機能がサポートされています。CML 2.9.0と同時に公開されたリファレンスプラットフォーム「refplat-20250616-fcs-iso」に含まれるコンテナイメージの一覧はSupport for Container Imagesに書かれています。

ここには「splunk」というイメージについて言及されているのですが、「refplat-20250616-fcs-iso」にはこのイメージは含まれていないようです。つまり、実際に含まれているコンテナイメージは以下のようです。
先日、dfimageでDockerコンテナイメージからDockerfileを復元するで触れたdfimageを使い、これらのイメージのDockerfileを確認してみました。