Sreamlit で書かれたシンプルな Web アプリをデプロイすることを目指しています。
app.py
import streamlit as st
st.title('Hello World!')
streamlit run app.py
コマンドラインで実行することにより、ローカルマシンでこれを実行できます。
ただし、GCP の App Engine で app.yaml ファイルを変更してこれをデプロイする方法がわかりません。
何かアドバイス?
Sreamlit で書かれたシンプルな Web アプリをデプロイすることを目指しています。
app.py
import streamlit as st
st.title('Hello World!')
streamlit run app.py
コマンドラインで実行することにより、ローカルマシンでこれを実行できます。
ただし、GCP の App Engine で app.yaml ファイルを変更してこれをデプロイする方法がわかりません。
何かアドバイス?
カスタム ランタイムを指定できるので、そのために App Engine フレキシブル環境を使用できます。手順は次のとおりです。
Dockerfile を作成します。
FROM python:3.7
EXPOSE 8080
WORKDIR /app
COPY requirements.txt ./requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
CMD streamlit run app.py --server.port 8080
App Engine フレックスではサーバーがポート 8080 でリッスンする必要があるため、Dockerfile を更新しました。
必要な依存関係を含む requirements.txt ファイルを作成します。
streamlit
app.yaml ファイルを作成します。
runtime: custom
env: flex
app.yaml と Dockerfile の両方が同じフォルダーにある必要があります。上記の app.yaml 設定は非常に基本的なものです。詳細については、ドキュメントを参照してください。
次にデプロイするには、次の gcloud コマンドを使用する必要があります。gcloud app deploy