このページでは、バージョン間の変更点と、あるバージョンから別のバージョンへの移行方法について説明します。

Morph 0.1.9 to 0.2.0

Dockerfileのアップデート: CMDコマンドの変更

Github連携に伴いMorphで構築したアプリの実行コマンドをデプロイ環境にインストールする方法が変更になりました。 具体的にはローカル環境で作成した.morph/core/morphディレクトリにあるapi/app.pyをデプロイ環境にコピーする方式から、パッケージとしてインストールされたファイルを実行する方式に変更になりました。 それに伴い、morph deploy実行時にもv0.2.0以降ではdockerfileでのエントリーポイントが変更になっています。

v0.2.0の変更でmorph newコマンドで生成されるDockerfileのCMDコマンドが変更されましたので、これまでのバージョンをお使いの場合はCMDコマンドを変更してください。

# Base image for Morph Cloud
FROM public.ecr.aws/i1l4z0u0/morph-data:python3.9

# Set working directory
WORKDIR /var/task

# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt --target "${MORPH_PACKAGE_ROOT}"

# Copy source code and dependencies
COPY . .

# Command to run the Lambda function
CMD python "${MORPH_APP_FILE_PATH}"

/staticディレクトリの追加

v0.2.0ではスタティックファイルをホストするための/staticディレクトリが追加されました。/static以下に配置されたファイルは、フロントエンドアプリケーションからアクセスできます。

# `/static`ディレクトリに配置されたファイルを画像として表示する例

![Logo](/static/logo.png)

これまでのバージョンをお使いの場合は/staticディレクトリを作成してください。

Morph 0.1.7 to 0.1.8

Dockerfileのアップデート: <LLM /> <Chat />のストリーミング処理の改善

LLMを用いたストリーミングレスポンスの挙動の改善に伴い、DockerfileのベースイメージとCMDの設定が変更されました。

v0.1.8以降で morph new コマンドで初期生成されるDockerfileは以下の形式で初期化をされます。

# Base image for Morph Cloud
FROM public.ecr.aws/i1l4z0u0/morph-data:python3.9

# Set working directory
WORKDIR /var/task

# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt --target "${MORPH_TASK_ROOT}"

# Copy source code and dependencies
COPY . .

# Command to run the Lambda function
CMD ["python", ".morph/core/morph/api/app.py"]

併せて、初期化時に.dockerignoreファイルを生成し、COPYコマンドでは個別のファイルのコピーではなく、.dockerignoreファイルで除外されたファイルを除外したディレクトリをコピーするように変更しました。

これによりローカルの開発環境でのディレクトリ構成が変更された場合もDockerfileの更新が不要になります。