[Feature Request] Share a locally running app on a public URL with app.run(tunnel=True)
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python
- 領域
- cloud, devtools, networking
調査の方向性
Start at the app.run entry point and inspect how the local server and hot reload lifecycle are managed. Compare the linked langgraph_cli/cli.py flag and LangGraph JS cloudflare.mts functions for downloading cloudflared and reading its URL. Done means supporting tunnel=True and DASH_TUNNEL, preserving the URL across reloads, warning for debug use, and covering the new behavior with tests.
索引モデルが issue の本文から書いたものです。
説明
Sharing an app that runs locally (with a teammate, on a phone, for a quick demo) currently means deploying it or setting up ngrok or a similar tool yourself.
Proposal: add a tunnel option to app.run (and a DASH_TUNNEL env var) that opens a Cloudflare quick tunnel and logs a public trycloudflare.com URL next to the local one. Quick tunnels need no account or login.
Suggested implementation: follow LangChain's --tunnel flag for langgraph dev, which does the same thing with a Cloudflare quick tunnel.
- The flag in the Python CLI:
langgraph_cli/cli.py - How it works, from the JS CLI:
startCloudflareTunnelrunscloudflared tunnel --url http://localhost:<port>and reads thetrycloudflare.comURL from its output.downloadCloudflaredfetches the binary from Cloudflare's GitHub releases and caches it.
Why Cloudflare and not ngrok: ngrok needs a free account and an authtoken before it will start a tunnel, and has not allowed anonymous tunnels since 2023. Cloudflare quick tunnels are the mainstream option that works with no signup, which is also why LangChain uses them. ngrok's free tier does give one fixed domain (quick tunnel URLs change on every start), so it could be added later as an option for people who already have a token.
For Dash:
- Use
cloudflaredfrom the PATH, or download it once if missing. - The URL stays the same across hot reloads.
- For development only. Anyone with the URL can reach the app, so it should warn when debug is on.
- 主要言語
- Python
- スター
- 24.4k
- フォーク
- 2.3k
- 平均マージ
- 3日 11時間
- マージ済み PR(30日)
- 23
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
plotly/dash のほかの issue
-
good first issue P3 size: 1 task
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 62/100
メンテナーはふだん 2 日以内に返信
-
bug P2 size: 3
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
メンテナーはふだん 2 日以内に返信
似ている issue
-
upstream update
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
conan-io/conan-center-index#31098 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
john-kurkowski/tldextract#382 ·
-
comp/tools duplicate P2 sweeper:risk-compatibility tool/mcp type/bug
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
NousResearch/hermes-agent#132042 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
deepset-ai/haystack#13092 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 85/100
feder-cr/invisible_playwright_mcp#1408 ·
メンテナーはふだん 1 日以内に返信