こんにちは、こんです🦊
今回は「100日チャレンジで作ったStreamlitツール、どうやって社内で安全に共有しよう?」というテーマで、ConoHa VPS+Docker構成による運用基盤づくりに挑戦しました!
実験のきっかけ:localhostでの限界
こんなこと、起きていませんか?
localhostのままでは他の人に共有できない
Streamlit CloudだとGitHub連携が面倒&制約多い
アプリごとに配布すると管理がバラバラになる
「せっかくツールを作っても、運用で詰まる」──これ、私自身が直面した課題でした。
作ってみたもの(構成と対象アプリの概要)
今回は、StreamlitアプリをVPS上にDockerで載せて社内配布できる仕組みをつくりました。
対象アプリは、最近作成しようと思っている「JPAddressChecker」という住所チェックツールです。
🔍 JPAddressCheckerとは?
顧客データの住所列に対して、日本郵便公式の郵便番号・デジタルアドレスAPIを活用し、
「その住所は正しいか?」「誤送のリスクがないか?」を自動チェックするStreamlitツールです
特に「複数注文をまとめて出荷したいとき」にも、同一住所かどうかの名寄せチェックが役立ちます
今後は「不正住所リスト照合」「Slack通知」などにも拡張予定です
実感したメリット
1. 管理コストが下がる
1つのサーバに複数ツールを並べてDockerで管理できるので、「誰のPCで何が動いてるのか問題」が解消されそう。
2. セキュリティも最低限クリア
SSH制限やポート管理を初期で済ませておくことで、API連携も安心して実装できる状態に。
3. 拡張性があるから“資産化”できる
Slack連携もBIダッシュボード化も、FastAPIとの併用も自由にできる。100日チャレンジの成果を一時的な「作品」で終わらせずに済むようになった感覚がありました。
実際の画面イメージ(構成)
【VPS構成】:ConoHa VPS(Ubuntu 22.04/1GB)で構築
【セキュリティ設定】:ufwで80/443/22ポートのみ開放、fail2banでSSH対策
【Docker環境】:docker-composeで複数アプリを並列起動
【アプリ公開URL(予定)】:https://********/jpaddresschecker(未設定)
次回予告:JPAddressCheckerをDocker化してデプロイ!
今回はVPS側の準備でしたが、次は:
StreamlitアプリのDockerfile+compose構成をつくる
nginx経由で /jpaddresschecker に公開
日本郵便APIに必要な「固定IP+URL」を確定させる
といった流れで、いよいよアプリそのもののデプロイに取りかかります!
まとめ:配布方法を整えると、アプリの価値が一気に上がる
今回の実験は、100日チャレンジの“中間棚卸し”でもありました。
ツールを作ることだけが目的じゃなく、それが誰かの役に立つ状態に持っていくことが大事。そのための一歩として、今回は「使えるインフラの準備」に全振りしました。
それでは、また次の実験で!🦊
#ノーコード #業務改善 #Docker #Streamlit #ChatGPTで業務効率化 #VPS #100日チャレンジ #住所チェック