78 lines
2.3 KiB
Markdown
78 lines
2.3 KiB
Markdown
# ComfyUI Deploy
|
|
Open source comfyui deployment platform, a `vercel` for generative workflow infra.
|
|
|
|

|
|
|
|
# How it works
|
|
|
|
1. Comfy Deploy Dashboard (https://comfydeploy.com) or self-hosted version
|
|
2. Machines (Long running, on-premise ComfyUI machines)
|
|
|
|
https://github.com/BennyKok/comfyui-deploy/assets/18395202/85f85325-a4bb-446d-aa67-ed225ee03479
|
|
|
|
# Comfy Deploy Plugin Installation
|
|
|
|
> Plugin lets you set up the machine as a target machine, and also upload workflow directly from there
|
|
|
|
1. `cd custom_nodes`
|
|
2. `git clone https://github.com/BennyKok/comfyui-deploy.git`
|
|
3. Go to (https://comfydeploy.com) or a self-hosted version
|
|
- Machines -> Add Machines
|
|
- Enter a name and the URL of your machines (set up Ngrok for a public URL for your machines)
|
|
|
|
# Usecase
|
|
|
|
1. Deploy a complicated comfy workflow with a versioning system
|
|
2. Manage versioning and easily preview different generated versions' output
|
|
3. Persistent API generated for Production and Staging environment
|
|
4. Run the same comfyui workflow across different remote machines
|
|
|
|

|
|
|
|
# Status & Timeline
|
|
|
|
WIP, welcomes contributors!! Please join Discord -> https://discord.gg/EEYcQmdYZw
|
|
|
|
Primary goal -> release v0.1.0 of stable Comfy Deploy
|
|
|
|
Major areas
|
|
- Security enforcement
|
|
- Error handling
|
|
- QOL workflow improvement
|
|
- API usage examples
|
|
- Load balancing
|
|
- Workflow dependencies checking (custom nodes)
|
|
- Remote machines
|
|
- Serverless machines? Possible to set up a clean environment via Salad, Modal, etc
|
|
- LCM realtime web socket image gen
|
|
|
|
# Tech Stack
|
|
- Shadcn UI
|
|
- NextJS
|
|
|
|
- Clerk (Auth)
|
|
- Neon / Vercel Postgres (Database)
|
|
- Drizzle (ORM)
|
|
- R2 / S3 (Object Storage)
|
|
|
|
# Development
|
|
|
|
1. `git clone https://github.com/BennyKok/comfyui-deploy`
|
|
2. `cd web`
|
|
3. `bun i`
|
|
4. Start docker
|
|
5. `cp .env.example .env.local`
|
|
6. Repace `JWT_SECRET` with `openssl rand -hex 32`
|
|
7. Get a local clerk dev key for `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` and `CLERK_SECRET_KEY`
|
|
8. Keep a terminal live for `bun run db-dev`
|
|
9. Finally start the next server with `bun dev`
|
|
|
|
**Schema Changes**
|
|
1. `bun run generate`
|
|
2. `bun run migrate-local`
|
|
|
|
# Special Thanks
|
|
- comfyui
|
|
- oss/acc
|
|
|