stevenke1981/comfyui-script

GitHub: stevenke1981/comfyui-script

一键在无头 Ubuntu 服务器安装并管理仅局域网可访问的 ComfyUI 服务。

Stars: 0 | Forks: 0

# Ubuntu Server 上 ComfyUI 自动安装器 一键安装 [ComfyUI](https://github.com/comfyanonymous/ComfyUI),适用于 无头 Ubuntu 服务器(无桌面环境)。它会检测 GPU,安装所有依赖,克隆 ComfyUI,拉取流行自定义节点,可选下载模型 / LoRAs / 工作流,并以 `systemd` 服务运行 ComfyUI,仅开放本地网络访问端口。 适用于常见的家庭实验室环境:一台装有 GPU 的 Ubuntu 主机,同一局域网内的多台工作站访问。 ## 功能特性 - 检测 NVIDIA / AMD / Intel / 仅 CPU 并安装正确的堆栈 - 自动安装 CUDA / ROCm / CPU PyTorch 轮子 - 克隆 ComfyUI 及一组流行自定义节点(`ComfyUI-Manager`、`Impact-Pack`、`rgthree`、`controlnet_aux`、`VideoHelperSuite` 等) - 用于模型、LoRAs 和工作流的纯文本配置文件 - 带重启失败保护和基础加固的 systemd 服务 - UFW 规则仅允许局域网子网访问 - `manage.sh` 辅助工具,支持通过 SSH 远程管理 ## 系统要求 - Ubuntu 22.04 / 24.04 服务器 - 可访问互联网的 `sudo` 用户 - (可选)带有兼容驱动的 NVIDIA GPU - 模型所需磁盘空间;SDXL 单独需要约 15 GB ## 快速开始 ``` git clone https://github.com/stevenke1981/comfyui-script.git cd comfyui-script # 查看下载内容: $EDITOR config/models.txt config/loras.txt config/workflows.txt config/custom_nodes.txt # 完整安装: sudo COMFYUI_ROOT="$HOME/ComfyUI" COMFYUI_USER="$USER" bash install.sh --all ``` 完成后,在局域网任意机器访问 `http://:8188`。 ### 逐步运行 ``` sudo bash install.sh --step install_deps sudo bash install.sh --step detect_gpu sudo bash install.sh --step install_comfyui sudo bash install.sh --step install_custom_nodes sudo bash install.sh --step download_models sudo bash install.sh --step setup_service sudo bash install.sh --step setup_firewall sudo bash install.sh --step start_comfyui ``` ### 环境变量覆盖 | 变量 | 默认值 | 用途 | | --- | --- | --- | | `COMFYUI_ROOT` | `$HOME/ComfyUI` | 安装目录 | | `COMFYUI_USER` | `$USER` | 拥有并运行 ComfyUI 的用户 | | `COMFYUI_PORT` | `8188` | 监听端口 | | `COMFYUI_BIND` | `0.0.0.0` | 绑定地址(设为 `127.0.0.1` 仅限 SSH) | | `COMFYUI_EXTRA_ARGS` | 空 | 传递给 `main.py` 的额外参数 | | `LAN_CIDR` | 自动检测 | 允许通过 UFW 的子网 | | `HF_TOKEN` | — | HuggingFace 令牌,用于受限仓库 | | `CIVITAI_TOKEN` | — | Civitai 令牌,用于受限 LoRAs | ## 配置下载 编辑三个配置文件并取消注释或添加行。 ### `config/models.txt` 和 `config/loras.txt` ``` # || checkpoints|https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors|sd_xl_base_1.0.safetensors loras|https://huggingface.co/latent-consistency/lcm-lora-sdxl/resolve/main/pytorch_lora_weights.safetensors|lcm-lora-sdxl.safetensors ``` `` 是 `ComfyUI/models/` 下的任意文件夹:`checkpoints`、`vae`、`clip`、 `clip_vision`、`controlnet`、`upscale_models`、`embeddings`、`unet`、`loras` 等。 ### `config/workflows.txt` 相同格式;文件位于 `ComfyUI/user/default/workflows/`。 ### `config/custom_nodes.txt` 每行一个 Git URL。每个节点内的 `requirements.txt` 会自动安装。 ## 使用 `manage.sh` 进行局域网管理 安装完成后在服务器(或通过 SSH)运行以下命令: ``` ./manage.sh status # show systemd status ./manage.sh start|stop|restart ./manage.sh logs # tail journalctl ./manage.sh update # git pull ComfyUI + reinstall deps ./manage.sh update-nodes # git pull all custom nodes ./manage.sh download # re-run model/LoRA/workflow downloads ./manage.sh add-model checkpoints [filename] ./manage.sh add-lora [filename] ./manage.sh add-node ./manage.sh list-models ./manage.sh gpu # nvidia-smi / rocm-smi ``` 你可以在不克隆仓库到客户端的情况下远程调用: ``` ssh user@server 'cd ~/comfyui-script && ./manage.sh status' ``` ## 安全注意事项 - UFW 规则仅允许检测到的局域网子网。如自动检测错误,请覆盖为 `LAN_CIDR=192.168.1.0/24` - ComfyUI **无内置认证**。如需从局域网外访问,请通过 Tailscale、WireGuard 或带有基本认证 / OAuth 的 nginx 反向代理前置 - 不要直接将 8188 端口暴露到公网 ## 故障排除 | 症状 | 解决方法 | | --- | --- | | `torch.cuda.is_available() == False` | 重启 NVIDIA 驱动安装后运行 `manage.sh restart` | | 服务启动失败 | `manage.sh logs` | | 局域网无法访问端口 | `sudo ufw status` 并确认 `LAN_CIDR` | | 受限的 HuggingFace 模型返回 401 | 在运行 `download_models` 前导出 `export HF_TOKEN=hf_...` | | 节点导入错误 | 在 ComfyUI-Manager 中对失败节点点击“Try fix” | ## 卸载 ``` sudo systemctl disable --now comfyui.service sudo rm /etc/systemd/system/comfyui.service sudo ufw delete allow from to any port 8188 proto tcp rm -rf "$COMFYUI_ROOT" ``` ## 许可证 MIT — 参见 [LICENSE](LICENSE)。
标签:AMD, ComfyUI, ComfyUI-Manager, controlnet_aux, CPU, CUDA, GPU检测, Impact-Pack, Intel, LoRA, PyTorch, rgthree, ROCm, SEO: GPU自动检测, SEO: Ubuntu ComfyUI 安装, SEO: 一键安装ComfyUI, SEO: 局域网ComfyUI服务, SSH, systemd服务, Ubuntu Server, UFW, VideoHelperSuite, 一键安装, 依赖安装, 家庭实验室, 局域网访问, 工作流, 应用安全, 服务硬化, 模型下载, 端口限制, 脚本化管理, 自定义节点, 远程管理, 重启恢复