A fully open source and self-hosted solution to run your ComfyUI workflows at blazing fast speeds on cloud GPUs powered by Modal.
Best suited for individuals who want to
- Run complex workflows in seconds on the powerful GPUs like A10G, A100, and H100 🔋
- Experiment with any workflows you find across web without worrying about breaking your local ComfyUI environment 😎
- Edit workflows on the go 📱
Local Dev
- Node -
>=v20.x.x
- Python -
>=3.10.x
- Docker
For running self hosted solution, please sign-up for following services:
- Modal account - Running workflows
- Clerk account - Authentication
- Fly.io account - Hosting
Pre-requisites
Once the Node is installed, please run below commands to install and run the app locally
cd web/
npm install
Create .env.
file from .env.sample
and add required keys(more info in this video)
cp .env.sample .env
npm run dev
Pre-requisites
- Install Docker Desktop to avoid messing with Python virtual environment
cd backend/
Create .env.
file from .env.sample
and add required keys(more info in this video)
cp .env.sample .env
docker-compose -f docker-compose.local.yml up --build
Note: Make sure docker desktop is running before running this command
Check out this video on how to self host this app
The current implementation hosts both frontend and backend on Fly.io. However, you can use any other service of your choice to host using the Dockerfile for both frontend and backend
Pre-requisites
- Clone the repo
- Sign up on Modal & set token
- Sign up on Clerk & create app
- Sign up on Fly.io
- Install flyctl
cd web/
You need to add all the environment variables present in your ./web/.env
file to Flyio Secrets for Flyio to pick them during the deploy
You can setup via command line using flyctl or use the app dashboard page https://fly.io/apps/<your-app-name>/secrets
Make sure you're in /web
directory before running below command
fly deploy
cd backend/
Create App (Same steps as frontend)
You need to add all the environment variables present in your ./backend/.env
file to Flyio Secrets for Flyio to pick them during the deploy
You can setup via command line using flyctl or use the app dashboard page https://fly.io/apps/<your-app-name>/secrets
Note: Make sure to include base url of the deployed frontend app from the above step in the comma separated list of
CORS_ALLOWED_ORIGINS
variable in your secrets
Make sure you're in /backend
directory before running below command
fly deploy