xingren23 / ComfyFlowApp

From comfyui workflow to web app, in seconds
https://comfyflow.app
GNU General Public License v3.0
503 stars 63 forks source link

Share your comfyflow app #1

Open xingren23 opened 10 months ago

xingren23 commented 10 months ago

The sharing of ComfyUI workflows is a challenge because everyone has different operating environments, local models, and extension nodes. Running someone else's workflow always involves a lot of difficulties.

ComfyFlowApp aims to explore a solution to this problem by allowing users to publish their ComfyFlowApp on the web and make it available on app stores. Other users can then download the app and run it locally.

xingren23 commented 9 months ago

how to share your comfyflow app to others?

you've developed a comfyflow app that includes the workflow itself, its settings, some ComfyUI nodes, and a bunch of different models. Sharing this app with others means you gotta think about packaging the workflow, settings, ComfyUI nodes, and models into one solid, stable bundle. But here's the thing: downloading models and keeping nodes compatible can be a real headache for the average Joe.

A cool solution? Have the creators handle the maintenance of nodes and models. This way, they can set up a ready-to-go workflow app environment for users. Makes life easier, right?

Sharing Locally

So, you're setting up a ComfyUI environment right on your local machine. That's cool because you can just share your apps with your team in the same network. No hassle of downloading models or adding ComfyUI nodes for them. Here's how it goes:

Sharing Over the Web

Taking things to the cloud with ComfyUI? Nice move for reaching people anywhere. You're setting up everything in the cloud, so again, no model downloads or extra installs for users.

You're thinking about security, which is key. Using access keys for identity checks and permissions is a smart play. Just make sure to keep those keys safe and only give them out to folks who should have access.

xingren23 commented 9 months ago

Key-Based Authentication

So, for apps that are open to the public, you gotta have some way to check who's who and manage who gets to do what. ComfyFlowApp has this neat feature where you use an access key for identity verification and permission control. Creators can hand out these keys to users, and only folks with a key can get into the web app.

  1. Linking Nodes: First up, creators make a ComfyUI node on the ComfyUI Nodes page and link it to a publicly accessible endpoint. image

  2. Creating a Key: Then, they whip up an Access Key right there on the ComfyUI Nodes page. Heads up: the key is only shown when you create it, so keep it safe. image

  3. Publishing the App: Next, creators push their local app to the public internet by connecting it to the endpoint node they set up. image

  4. Sharing the Key: They pass the key to trusted users through a secure channel.

  5. Activating the Key: Users activate their Access Key on the ComfyUI Nodes page. image

  6. Using the App: Finally, users can hit up the App Store page and access the apps they have permissions for. image

xingren23 commented 9 months ago

Sharing web applicastion on the Public Network Using ngrok

https://github.com/xingren23/ComfyFlowApp/issues/43