Skip to content

Linux

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

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

systemdで「起動と有効化」(start&enable)を同時に実行する

systemdベースのLinuxでサービスの起動と有効化を実施する場合、例えば以下のように実行します。

systemctl enable docker.service
systemctl start docker.service

RedHat Enterprise Linuxのドキュメントであるブート時のシステムサービス起動の有効化に記載されていますが、enable --nowを指定することで「起動と有効化」を同時に実行することができます。

systemctl enable --now docker

Ubuntuのqcow2イメージサイズを拡張する

Ubuntu Cloud Images 24.04 LTS Daily Buildからダウンロードしたqcow2イメージをベースに、init-osでカスタマイズして検証に利用しています。しかし「Dockerをインストールする」という手順を追加したところ、ストレージの消費量が1GB以上増えてしまったようで、カスタマイズ時にエラーが発生するようになってしまいました。イメージサイズを拡張することで回避しましたので、その手順をメモしておきます。

dfimageでDockerコンテナイメージからDockerfileを復元する

Dockerfile From Image (dfimage)を使うとDockerコンテナからDockerfileを復元することができます。dfimage自体がDockerコンテナとして提供されており、Dockerエンジンがあれば利用可能です。ただ、毎回Dockerコンテナを実行するのは大変なので、ショートカットするには「エイリアスを設定する」「Pythonスクリプト経由で利用する」といった方法があるようです。今回は後者の「Pythonスクリプト経由で利用する」方法をメモします。

dfimageは仕組み上、Dockerを事前にインストールしておく必要があります。