こんにちは、こんです🦊
今日は、昨日の EXE 化に引き続き「Streamlit アプリの社内共有方法」を探っていました。
✅ 結論から言うと、Streamlit Cloud での共有は一度成功したものの、セキュリティ面から断念。
代わりに、社内サーバー + .bat / .vbs によるローカルネットワーク内共有方式で、実用レベルの仕組みを完成させることができました!
🧪 今日の実験:Streamlitアプリの社内共有(Cloud断念 → ローカル展開)
① Streamlit Cloud は公開性が高すぎる
一見便利な Streamlit Cloud ですが、
secrets.toml や credentials.json を安全に保管できない
データが他者に閲覧される恐れあり(GitHub連携&パブリック公開)
という理由から、セキュリティ要件を満たすのが難しく、社内ツール用途では不向きと判断。
② バッチファイルでローカルサーバーを立ち上げて共有
LogiBridge/
├─ run_host.bat ← ホスト用(LAN内で起動)
├─ run_host.vbs ← ホスト専用の.vbs起動
├─ run.bat ← クライアント用(指定ポートに接続)
├─ run.vbs ← クライアント専用の.vbs起動
ポートの自動検出(空きポートを使用)
LAN内IPの取得 → ブラウザ起動
ホスト・クライアントを分離
複数拠点間でも運用できる柔軟な構成に。
💻 トラブルと対応
http://0.0.0.0:850X/ になる → PowerShell で LAN IP を正確取得
日本語URL(例:/データ生成)は %E3%83%87... とエンコード
start に渡す文字列が引数と誤認される → powershell -Command の構文工夫
ポートが毎回変わってしまう → 今後、PID ↔ PORT 管理が課題
✅ 今日の成果と学び
EXE化よりバッチの方が現実的で柔軟
Streamlit Cloudはあくまで一時的なMVPやPoC向き
共有こそがDXの要。配布より運用。
🔭 明日以降に進めたいこと
認証設定(Google Sheets連携)の .vbs 自動起動補助
初期設定完了時に /データ生成 を直接開く工夫
ポートとセッションの管理方式の整備
他の Streamlit アプリのこの構成での再利用
🧠 今日のまとめ
「作ったはいいけど、どう共有するの?」
Streamlit のようなノーコード・ローコードツールでも、
最後に立ちはだかるのは“運用設計”と“環境整備”でした。
やっと土台が整った今、ここからが本当のスタート。
#100日チャレンジ #Day37 #Streamlit #DX設計 #バッチ共有 #社内ツール展開 #運用構築