Steamlit CloudにWEBアプリをデプロイ

Python


Streamlit Cloud(旧称:Streamlit Sharing) は、Streamlitで作成したアプリを簡単にインターネット上で公開・共有できる無料のホスティングサービスです


1.Streamlit Cloudの特徴

特徴説明
🌐 Web公開が超簡単GitHubと連携して数クリックでデプロイ可能
♻️ 自動更新GitHubのリポジトリを更新すれば、自動でアプリも更新
👥 共有が楽URLを送るだけで他人にアプリを見せられる
📊 データアプリに最適セキュアにデータ可視化・MLモデルの公開ができる

2. 使い方

① GitHubにアプリをアップロード

Streamlitアプリのコード(例:main.py)をGitHubのリポジトリにアップします
外部ライブラリを使用している場合は requirements.txt をリポジトリに追加します
他にもフォントファイルを使用しているなら、Google Fontsなどから日本語フォント(例:Noto Sans CJK JP)をダウンロードし、プロジェクトに追加します

streamlit_stock_analyze_app/
├── main.py
├── requirements.txt
├── fonts/
│   └── NotoSansJP-Regular.ttf

② Streamlit Cloudにアクセス

以下のサイトにアクセスして右上の free ボタンを押してfreeプランで登録します

Streamlit Community Cloud • Streamlit
Deploy, manage, and share your Streamlit apps — all for free.

その後、GitHubアカウントでログインしてアカウントを連携します

③ 「New app」をクリックしてデプロイ

  • リポジトリを選択
  • ブランチ(通常はmain)
  • 起動ファイル名(例:main.py)

そして 「Deploy」 をクリックするだけです

④ 自動でビルド&公開

数十秒〜1分でアプリがインターネット上に公開され、URLが発行されます


🌍 URLでアクセスできる

アプリは以下のようなURLになります

https://[your-username]-[repo-name]-[ランダムなID].streamlit.app/

このURLを共有するだけで、他の人もアプリを使えます


3.その他の便利機能

機能説明
環境変数の設定APIキーなどの秘密情報を .streamlit/secrets.toml に設定可能
サービス再起動エラーが起きたときにワンクリックで再起動できる
デプロイ履歴GitHubの更新ごとに自動ビルドされ、ログも確認できる
複数アプリ管理1アカウントで複数アプリを管理できる

4.料金

制限はありますが、基本は 無料プラン で使えます

プラン無料
公開アプリ数無制限(パブリックリポジトリであれば)
セッション数同時に複数人アクセス可能(制限あり)
実行時間非アクティブ状態で1時間後スリープ(起動に数十秒かかる)

注意
非公開(プライベート)リポジトリでの利用や、チームでの管理が必要な場合は、有料プランが必要です


5.secretsの使い方(APIキーなど)

Streamlit Cloud で secrets を使うには Web UI 上で secrets を手動で設定する必要があります

🔧 設定方法(Streamlit Cloud 上)

  1. https://share.streamlit.io/ にアクセス
  2. 自分のアプリのダッシュボードに移動
  3. 「⚙ Settings」タブをクリック
  4. 「Secrets」セクションを開く
  5. ローカルの secrets.toml の内容をそのまま貼り付ける(TOML形式)
[api_keys]
openai = "your_openai_key"

[database]
host = "localhost"
port = 5432
user = "user"
password = "pass"

保存すれば、アプリ内から st.secrets 経由で読み込めるようになります

import streamlit as st

api_key = st.secrets["api_keys"]["openai"]

以上の作業で前回の記事で紹介したようなWEBアプリを簡単に公開出来ます

まずは作ってみて是非このスピード感を体感してみてください

コメント