主题
环境变量、端口与目录
本页集中列出 ComfyCarry 在 Docker 容器部署、网络映射与日常维护中所使用的环境变量、服务监听端口、文件路径规范以及 PM2 后台守护进程。
环境变量汇总
在启动 ComfyCarry Docker 容器或在云算力平台创建实例时,可以通过环境变量预先注入系统配置:
| 环境变量 | 默认值 | 说明与用途 |
|---|---|---|
DASHBOARD_PASSWORD | comfy2025 | ComfyCarry 控制面板的初始登录密码 |
WORKSPACE_DIR | /workspace | 容器内工作区根目录的绝对路径 |
COMFYUI_DIR | $WORKSPACE_DIR/ComfyUI | ComfyUI 主程序的安装路径 |
COMFYUI_URL | http://localhost:8188 | 控制面板连接 ComfyUI 引擎的内部地址 |
MANAGER_PORT | 5000 | 控制面板 HTTP 服务监听的内部端口 |
FORCE_UPDATE | false | 设置为 true 时,容器每次启动时会自动拉取并更新 ComfyCarry 最新源码 |
CIVITAI_TOKEN | 空 | 预先配置的 CivitAI API Key,用于模型检索与受限模型下载 |
CF_API_TOKEN | 空 | 自定义 Tunnel 模式使用的 Cloudflare API Token |
CF_DOMAIN | 空 | 自定义 Tunnel 模式绑定的托管主域名(例如 example.com) |
CF_SUBDOMAIN | 空 | 自定义 Tunnel 模式使用的二级子域名前缀(例如 my-gpu) |
PUBLIC_TUNNEL | 空 | 容器启动时自动启用的公共 Tunnel 服务(例如 dashboard,comfyui,jupyter,ssh) |
RCLONE_CONF_BASE64 | 空 | 以 Base64 编码形式预注入的 Rclone 云存储配置文件 |
SSH_PUBLIC_KEY | 空 | 容器初始化时写入 authorized_keys 的 SSH 授权公钥文本 |
PUBLIC_KEY | 空 | 兼容部分 GPU 租赁平台的 SSH 公钥环境变量别名 |
COMPANION_DAV_PORT | 8688 | Windows 客户端配套使用的内部 WebDAV 存储服务端口 |
COMPANION_SERVE_ROOT | ComfyUI/output | Windows 客户端默认读取和同步的工作区子路径 |
服务端口与网络映射
| 容器内端口 | 协议 | 对应服务 | 访问方式与说明 |
|---|---|---|---|
5000 | TCP (HTTP) | ComfyCarry 控制面板 | 浏览器访问实例 IP 的映射端口,或通过 Cloudflare Tunnel 打开 |
8188 | TCP (HTTP/WS) | 原生 ComfyUI 引擎 | 可以在控制面板中直接跳转,也可以单独映射端口访问原生画布 |
8888 | TCP (HTTP/WS) | JupyterLab 开发环境 | 在控制面板中点击快捷打开,或在浏览器中输入映射端口加 Token 访问 |
8688 | TCP (HTTP) | 内部 WebDAV 存储服务 | 由控制面板通过 /api/companion/dav 路由反向代理,无需对外单独暴露端口 |
22 | TCP (SSH) | OpenSSH 守护进程 | 映射为主机 TCP 端口直连,或通过 cloudflared access ssh 代理访问 |
目录结构与工作区路径约定
在 ComfyCarry 网页面板、API 请求与云同步规则中,所有用户界面的路径均遵循 工作区相对路径约定:路径最开头的斜杠 / 即代表工作区根目录(/workspace)。例如在同步规则中设置 /ComfyUI/output,在容器底层即对应 /workspace/ComfyUI/output。
| 绝对路径 | 相对表示 | 目录用途与说明 |
|---|---|---|
/workspace/ComfyCarry | /ComfyCarry | ComfyCarry 控制面板程序与前端静态资源 |
/workspace/ComfyUI | /ComfyUI | ComfyUI 主程序代码 |
/workspace/ComfyUI/models | /ComfyUI/models | 核心模型根目录,包含 checkpoints、loras、vae、clip、controlnet、unet 等分类子文件夹 |
/workspace/ComfyUI/custom_nodes | /ComfyUI/custom_nodes | ComfyUI 自定义插件与扩展节点安装目录 |
/workspace/ComfyUI/input | /ComfyUI/input | 用于图生图、ControlNet 与视频生成的输入素材暂存目录 |
/workspace/ComfyUI/output | /ComfyUI/output | 生成的图像、视频、音频产物与历史生成记录保存目录 |
/workspace/ComfyUI/user | /ComfyUI/user | ComfyUI 原生用户配置、自定义工作流 JSON 文件 |
/workspace/.dashboard_env | /.dashboard_env | 持久化系统配置,存储修改后的密码、API Key、Tunnel 运行时状态等 |
/workspace/.sync_rules.json | /.sync_rules.json | 云同步任务与规则定义文件 |
/workspace/.rclone/rclone.conf | /.rclone/rclone.conf | Rclone 云存储网盘连接凭证 |
核心后台进程管理(PM2)
ComfyCarry 在容器内部使用 PM2 守护进程管理所有后台核心服务,支持自动崩溃重启与状态监控:
| PM2 进程名 | 对应服务模块 | 主要职责 |
|---|---|---|
dashboard | ComfyCarry 控制面板 | 提供 Web 管理界面、RESTful API 与状态监控 |
comfy | ComfyUI 核心进程 | 负责 ComfyUI 工作流调度、模型加载与 GPU 渲染 |
jupyter | JupyterLab 服务 | 提供基于浏览器的代码编辑、文件管理与 Web 终端 |
cf-tunnel | Cloudflare Tunnel | 运行 cloudflared 客户端,建立由内向外的安全公网通道 |
sync | 云同步调度器 | 后台定时执行 Rclone 上传与下载同步规则 |
常用运维命令行
在 JupyterLab 网页终端或 SSH 终端中,可以直接使用 PM2 命令查看和维护各项服务:
bash
# 查看所有后台服务的运行状态与资源占用
pm2 status
# 查看指定服务的实时运行日志(展示最近 100 行)
pm2 logs dashboard --lines 100
pm2 logs comfy --lines 100
pm2 logs jupyter --lines 100
pm2 logs cf-tunnel --lines 100
pm2 logs sync --lines 100
# 重启指定服务
pm2 restart dashboard
pm2 restart comfy
pm2 restart jupyter
pm2 restart cf-tunnel
pm2 restart sync
# 重启所有后台服务
pm2 restart all