Skip to content

Docker

Amazon Linux 2023上にHTTPSで保護されたDifyを新規構築する

Amazon Linux 2023上にDockerでDifyを起動する手順をメモしておきます。Difyを構成するコンテナ群にはcert-botコンテナが含まれており、サーバ証明書を新規取得・更新する能力を持っています。今回はcert-botコンテナも併用し、サーバ証明書を取得してDifyをHTTPSでサービスします。

Dockerで不要ストレージを削除する

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関連ストレージを削除する方法をメモします。

docker composeで起動したDifyからSMTPでメール送信する

先日、docker composeでDifyを起動するというメモを書きました。Difyへユーザを招待するにはメールアドレスを登録するのですが、デフォルトの状態では「メールアドレスを登録はするものの、実際にメールは送信されない」という動作をします。SMTPの設定を行うことでメールを送信するよう、設定を修正します。

docker buildxでamd64/arm64両対応のコンテナイメージを作成する

Dockerコンテナイメージをamd64とarm64の両プラットフォーム向けにマルチプラットフォームビルドする方法は公式サイトのMulti-platform buildsに記載されています。同ページのStrategiesセクションにはマルチプラットフォームビルドに関して以下、3種類の方法が記載されています。

  1. Using emulation, via QEMU
  2. Use a builder with multiple native nodes
  3. Use cross-compilation with multi-stage builds

1番の方法は最も簡単ですが、パフォーマンスが出ないそうです。とは言え、私の場合はそこまで頻繁にイメージ作成するわけではありませんので、最も手軽な1番を実施する方法をメモしておきます。