ComfyUI 部署
开源 ComfyUI 部署平台,一个用于生成工作流基础设施的"vercel"(与 ComfyUI 垂直集成的无服务器托管 GPU)。
加入 Discord 进行更多交流,或访问 Comfy Deploy 开始使用!
查看我们最新的 nextjs 启动套件,搭配 Comfy Deploy 使用
工作原理
- Comfy Deploy 仪表板 (https://comfydeploy.com) 或自托管版本
- 机器(长期运行的本地 ComfyUI 机器和无服务器)
- 支持 runpods、modal 和托管的 ComfyDeploy 机器(由 modal 提供支持)
https://github.com/BennyKok/comfyui-deploy/assets/18395202/85f85325-a4bb-446d-aa67-ed225ee03479
设置基本的 sd txt2img API
https://github.com/BennyKok/comfyui-deploy/assets/18395202/0fb1829b-401a-41f2-b21a-5b77483c6ee2
Comfy Deploy 插件安装
插件允许你将机器设置为目标机器,并直接从那里上传工作流
cd custom_nodes
git clone https://github.com/BennyKok/comfyui-deploy.git
- 前往 (https://comfydeploy.com) 或自托管版本
- 机器 -> 添加机器
- 输入名称和机器的 URL(为你的机器设置 Ngrok 以获取公共 URL)
- 创建新的 ComfyDeploy 机器(选择任何自定义节点)。
- 机器 -> 添加机器
使用场景
- 部署复杂的 Comfy 工作流,并具有版本控制系统
- 管理版本并轻松预览不同生成版本的输出
- 为生产和测试环境生成持久的 API
- 在不同的远程机器上运行相同的 ComfyUI 工作流
状态和时间线
正在进行中,欢迎贡献者!请加入 Discord -> https://discord.gg/EEYcQmdYZw
主要目标 -> 发布稳定版 Comfy Deploy v0.1.0
主要领域
- 安全强化
- 错误处理
- 工作流程质量改进
- API 使用示例
- 负载均衡
- 工作流依赖检查(自定义节点)
- 远程机器
- 无服务器机器?可能通过 Salad、Modal 等设置干净环境
- LCM 实时 WebSocket 图像生成
技术栈
- Shadcn UI
- NextJS
- Clerk(认证)
- Neon / Vercel Postgres(数据库)
- Drizzle(ORM)
- R2 / S3(对象存储)
开发
git clone https://github.com/BennyKok/comfyui-deploy
cd web
bun i
- 启动 docker
cp .env.example .env.local
- 用
openssl rand -hex 32
生成的值替换JWT_SECRET
- 获取本地 clerk 开发密钥,用于
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
和CLERK_SECRET_KEY
- 保持一个终端运行
bun run db-dev
- 执行本地迁移以创建初始数据
bun run migrate-local
- 最后用
bun dev
启动 next 服务器
架构更改
bun run generate
bun run migrate-local
特别感谢
- comfyui
- oss/acc
使用 Vercel 自托管
构建命令
next build && bun run migrate-production
安装命令
npx bun@1.0.16 install
环境密钥设置
POSTGRES_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
SPACES_ENDPOINT="http://localhost:4566"
SPACES_ENDPOINT_CDN="http://localhost:4566"
SPACES_BUCKET="comfyui-deploy"
SPACES_KEY="xyz"
SPACES_SECRET="aaa"
# 使用以下命令生成 -> openssl rand -hex 32
JWT_SECRET=
# r2 设置
SPACES_REGION="auto"
SPACES_CDN_FORCE_PATH_STYLE="true"
SPACES_CDN_DONT_INCLUDE_BUCKET="true"
# digital ocean 设置
SPACES_REGION="nyc3"
SPACES_CDN_FORCE_PATH_STYLE="false"
# s3 设置
SPACES_REGION="nyc3"
SPACES_CDN_DONT_INCLUDE_BUCKET="false"
SPACES_CDN_FORCE_PATH_STYLE="true"