Streamlitで作ったwebアプリをStereamlit Cloudにデプロイする場合、git hubの設定を”Public”にする必要があり、せっかくのコードが公開状態になってしまいます。セキュリティ上も問題あります。
Git hubの設定を”Private”のまま、デプロイ先としてはherokuをお勧めします。
以下のページで、Heroku CLIを使った方法を紹介してありますが、ここではHeroku CLIを使わないでやりたいと思います。
https://qiita.com/tomowarkar/items/f41f778b6ae003d9a027
概要手順
- heroku に登録
- アプリの作成
- git hubへアップロードとheroku用設定
- heorkuとgit hubの連携
- herokuにデプロイ
Herokuに登録
今回は、本論でないので別のサイトの説明を引用します。
アプリ作成
私がStreamlitで作成したこのアプリをデプロイしていきます。
git hubへアップロード とheroku用設定
ファイル構成は以下のような感じです。順に説明していきます。
・enthalpy.py と calculater.py
enthalpy.pyは、本プログラムのメインコードです。 calculater.py は、中身の計算を使いまわせるように、コードを分けています。
コードの分け方は別の記事で解説しています。
・requiremnets.txt
必要なモジュールを読み込みます。
pandas
streamlit
openpyxl
以下、2つがheroku用のファイルです
・Procfile
実行コマンドを書いておきます。
web: sh setup.sh && streamlit run enthalpy.py
・setup.sh
このファイルが必要です。
以下のサイトを参考しました。
https://qiita.com/yoichi_t/items/f99f4153f9b6b6ce7331
mkdir -p ~/.streamlit/
echo "\
[server]\n\
headless = true\n\
enableCORS=false\n\
port = $PORT\n\
" > ~/.streamlit/config.toml
heorkuとgit hubの連携
herokuのDeployの”Deployment method”でGit hubと連携させ、”App connected to GitHub”で該当のレポジトリを選択して、連携させます。
herokuにデプロイ
同じページの一番下に”Manual deploy”
まとめ
herokuスターターガイドにも書いてありますが、heroku CLIを使っていたり、余計なことがたくさん書いてあって難しいかと思いますので、ぜひこちらの方法をお試しください。
https://devcenter.heroku.com/ja/articles/getting-started-with-python?singlepage=true