
n8n-workflows AI Stack Ubuntu 安装实战Docker 环境搭建与 n8n Agent Zero ComfyUI 一键部署【免费下载链接】n8n-workflowsall of the workflows of n8n i could find (also from the site itself)项目地址: https://gitcode.com/GitHub_Trending/n8nworkflo/n8n-workflows本篇以仓库内 ai-stack/UBUNTU-INSTALL.md 为核心完整讲解如何在 Ubuntu/Linux 上从零搭建 AI 自动化栈安装并配置 Docker、获取ai-stack目录、用 start.sh 一键拉起 n8n工作流编排、Agent ZeroAI 智能体运行时与 ComfyUI图像生成三大服务并覆盖 NVIDIA GPU 接入、防火墙放行、systemd 开机自启与常见故障排查。读完本文你可以在一台干净的 Ubuntu 机器上独立部署该栈并能对照 start.sh 与 docker-compose.yml 的源码理解每个启动动作的底层逻辑。一、先认识这个 AI Stack 是什么n8n-workflows仓库的 ai-stack/ 目录提供了一个单命令可部署的本地 AI 自动化栈由三个容器化服务组成见 ai-stack/README.md 与 docker-compose.yml服务镜像用途宿主机端口访问地址n8nn8nio/n8n:latest工作流自动化引擎指挥者5678http://localhost:5678Agent Zerofrdel/agent-zero-run:latestAI 智能体运行时与规划 UI50080映射容器 80 端口http://localhost:50080ComfyUIaidockorg/comfyui-cuda:latestAI 图像/视频生成8188http://localhost:8188三者通过 docker-compose 定义的ai-stack-network桥接网络互通并共享./shared/卷交换数据ComfyUI 输出、共享工作流等。整个栈的入口是 start.shLinux/macOS 启动脚本与 docker-compose.yml本文所有操作都围绕这两个文件展开。二、系统要求按原文档给出的配置门槛先确认你的机器达标最低配置CPU 模式Ubuntu 20.04 或更新版本8 GB 内存20 GB 可用磁盘空间任意现代 CPU推荐配置GPU 模式Ubuntu 20.04 或更新版本16 GB 内存50 GB 可用磁盘空间6 GB 以上显存的 NVIDIA GPU已安装 NVIDIA 驱动首次拉取三个镜像的下载量较大ComfyUI CUDA 镜像尤其大磁盘余量请留足。三、步骤 1在 Ubuntu 上安装 Docker打开终端按Ctrl Alt T打开终端。检查是否已安装 Dockerdocker --version若能看到版本号直接跳到步骤 2否则继续安装。安装 Docker官方 APT 源方式以下命令逐条执行# 更新软件包列表 sudo apt update # 安装依赖包 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # 添加 Docker 官方 GPG 密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 添加 Docker 仓库自动匹配当前架构与发行版代号 echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 再次更新软件包列表 sudo apt update # 安装 Docker 引擎、CLI、containerd 与 compose 插件 sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 把当前用户加入 docker 组之后免 sudo sudo usermod -aG docker $USER # 使新组身份立即生效 newgrp docker几个关键细节说明docker-compose-plugin安装后使用的是docker compose无连字符子命令而不是旧版独立二进制docker-compose。start.sh 的前置检查正是通过docker compose version探测该能力探测失败会直接报错退出。usermod -aG docker $USER之后必须重新登录会话或执行newgrp docker才生效——这是后文Permission denied问题的根源。验证安装docker --version docker compose version两条命令都应输出版本号。四、步骤 2获取 ai-stack 代码以下两种方式任选其一目标都是拿到ai-stack/目录。方式 AGit 克隆推荐# 如未安装 git sudo apt install -y git # 克隆仓库 git clone https://gitcode.com/GitHub_Trending/n8nworkflo/n8n-workflows.git # 进入 ai-stack 目录 cd n8n-workflows/ai-stack方式 B下载 ZIP# 如未安装 wget / unzip sudo apt install -y wget unzip # 从项目主页下载仓库 ZIP 包后解压文件名以实际下载为准 unzip 下载的文件.zip # 进入 ai-stack 目录目录名以解压结果为准 cd 解压出的根目录/ai-stack拿到代码后ai-stack/目录的关键文件与 SUMMARY.md 中Files Included一致ai-stack/ ├── docker-compose.yml # 主栈配置三服务定义 ├── .env # 环境变量时区、基础认证、API Key ├── start.sh # Linux/macOS 启动脚本 ├── start.ps1 # Windows 启动脚本 ├── workflows/ # 预置 n8n 工作流 │ ├── comfyui-image-generation.json │ └── comfyui-simple-test.json ├── data/ # 持久化数据脚本自动创建 └── shared/ # 跨服务共享卷脚本自动创建五、步骤 3启动 AI Stack赋予执行权限并运行chmod x start.sh ./start.sh脚本做了什么对照源码逐步拆解start.sh 开头有set -e任何一步失败都会立即终止。按其执行顺序脚本完成原文档列出的六件事每一件事都能在源码中找到对应实现检查 Docker 已安装command -v docker探测命令存在性随后docker --version打印版本未安装则报错退出start.sh。检查 Docker 守护进程在运行通过docker info探测同时校验docker compose子命令可用start.sh。检测 NVIDIA GPU执行nvidia-smi --query-gpuname --formatcsv,noheader能取到卡名则置HAS_GPUtrue并打印显卡型号未检测到则提示可用--cpu标志start.sh。创建目录结构脚本内置 13 个目录的数组包括data/n8n、data/agent-zero、shared/comfyui/models/{checkpoints,loras,vae,controlnet,upscale_models,embeddings,clip}、shared/comfyui/{output,input,custom_nodes}和shared/workflows逐个mkdir -pstart.sh。这些路径与 docker-compose.yml 中的卷挂载一一对应。拉取 Docker 镜像依次docker pull n8nio/n8n:latest、frdel/agent-zero-run:latest、aidockorg/comfyui-cuda:latest首次拉取约需 5–10 分钟可用--no-pull跳过start.sh。启动全部服务执行docker compose up -d等待 10 秒后打印docker compose ps状态start.sh。GPU 与 CPU 模式的选择逻辑启动前脚本会判断运行模式start.shif [ $CPU_MODE true ] || [ $HAS_GPU false ]; then print_info Starting in CPU mode (no GPU acceleration for ComfyUI) export COMFYUI_ARGS--cpu fi即显式传入--cpu或未检测到 NVIDIA GPU 时都会进入 CPU 模式。从源码结构看脚本此时导出COMFYUI_ARGS--cpu环境变量而 docker-compose.yml 中默认启用的 ComfyUI 服务使用 CUDA 镜像aidockorg/comfyui-cuda:latest并未直接引用该变量——文件里另有一个被注释掉的comfyui-cpu服务基于frdel/comfyui-docker:latest镜像CLI_ARGS中显式带--cpu并声明cpu-onlyprofile。可以推断纯 CPU 环境下若 CUDA 镜像无法运行需要手动切换到该注释中的 CPU 服务定义取消注释并调整端口映射因为两者同占 8188 端口这一点在排障时值得留意。ComfyUI 的 GPU 接入方式默认 ComfyUI 服务通过deploy.resources.reservations.devices声明 NVIDIA GPU 需求docker-compose.ymldeploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu]这要求宿主机安装 NVIDIA 驱动与 Container Toolkit安装方法见下文排障一节。成功标志一切正常时脚本结尾会打印start.sh AI Stack is running!并附三个访问地址、--stop/--logs/--status命令提示以及共享目录说明./shared、./shared/comfyui/models。六、步骤 4打开三大服务启动成功后在浏览器访问服务地址验证内容n8n工作流自动化http://localhost:5678应显示欢迎/注册界面Agent ZeroAI 助手http://localhost:50080应显示聊天界面ComfyUI图像生成http://localhost:8188应显示节点编辑界面从 docker-compose.yml 可见n8n 与 ComfyUI 都定义了 healthcheck前者每 30 秒wget http://localhost:5678/healthz后者每 30 秒curl -f http://localhost:8188/system_stats启动宽限 60 秒。因此服务刚启动时页面可能短暂不可用可先用./start.sh --status观察健康状态。七、快速命令速查start.sh 的参数解析支持长短两种形式除原文档列出的命令外还有--no-pull与--help操作命令源码行为启动栈./start.sh完整走检查→建目录→拉镜像→up -d流程停止栈./start.sh --stop或-s执行docker compose down查看状态./start.sh --status执行docker compose ps查看日志./start.sh --logs或-l执行docker compose logs -f强制 CPU 模式./start.sh --cpu或-c导出COMFYUI_ARGS--cpu后启动跳过拉镜像./start.sh --no-pull或-n跳过三个docker pull步骤帮助./start.sh --help或-h打印用法说明不使用脚本时也可以直接操作 Docker Compose与 README.md 的Docker Compose (Direct)一节一致docker compose up -d # 启动 docker compose down # 停止 docker compose logs -f # 日志 docker compose ps # 状态八、Ubuntu 专属排障问题 1运行 docker 时 Permission denied用户不在 docker 组导致# 把当前用户加入 docker 组 sudo usermod -aG docker $USER # 注销重新登录或直接执行 newgrp docker # 再试一次 ./start.sh问题 2Cannot connect to Docker daemonDocker 服务未启动或未设为开机启动# 启动 Docker 服务 sudo systemctl start docker # 设为开机自启 sudo systemctl enable docker # 查看状态 sudo systemctl status docker问题 3端口已被占用# 找出占用端口的进程n8n / ComfyUI / Agent Zero sudo lsof -i :5678 sudo lsof -i :8188 sudo lsof -i :50080 # 结束进程PID 替换为实际数字 sudo kill -9 PID # 或者直接重启机器 sudo reboot另一种做法是修改 docker-compose.yml 中对应服务的ports映射为新端口:原端口但要注意 n8n 的WEBHOOK_URL环境变量也需同步修改。问题 4磁盘空间不足# 查看磁盘用量 df -h # 清理 Docker 无用镜像/容器 docker system prune -a # 清理 apt 缓存与无用包 sudo apt clean sudo apt autoremove问题 5检测到不到 NVIDIA GPU# 自动安装适配的 NVIDIA 驱动 sudo ubuntu-drivers autoinstall # 安装 NVIDIA Container Toolkit distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt update sudo apt install -y nvidia-container-toolkit # 重启 Docker 使 toolkit 生效 sudo systemctl restart docker # 在容器内验证 GPU 可见 docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-sminvidia-smi能正常输出显卡信息后重新运行./start.sh脚本的 GPU 检测nvidia-smi --query-gpuname就会识别到显卡不再落入 CPU 模式分支。九、防火墙配置可选局域网访问若要让同一局域网内的其他电脑访问这三个服务需放行对应 TCP 端口原文档给出的 ufw 配置# 放行三个服务端口 sudo ufw allow 5678/tcp sudo ufw allow 8188/tcp sudo ufw allow 50080/tcp # 若防火墙尚未启用 sudo ufw enable # 查看规则状态 sudo ufw status安全提示来自 README.md 的 Security Notes默认所有服务仅绑定 localhost 使用一旦暴露到网络建议加反向代理并启用 n8n 基础认证对应 ai-stack/.env 中的N8N_BASIC_AUTH_ACTIVE/N8N_BASIC_AUTH_USER/N8N_BASIC_AUTH_PASSWORD三项默认值为关闭认证。十、环境变量与持久化数据说明ai-stack/.env 控制整个栈的运行参数docker-compose.yml 通过${TZ:-America/Los_Angeles}这类插值引用它变量默认值作用TZAmerica/Los_Angeles三个服务的时区n8n 同时注入GENERIC_TIMEZONEN8N_BASIC_AUTH_ACTIVEfalse是否启用 n8n 基础认证N8N_BASIC_AUTH_USER/N8N_BASIC_AUTH_PASSWORDadmin/changeme认证凭据WEBHOOK_URL注释状态无反代场景下的外部 webhook 地址OPENAI_API_KEY/ANTHROPIC_API_KEY注释状态无Agent Zero 调用的大模型密钥n8n 服务还有几个写死在 compose 文件里的行为参数docker-compose.ymlEXECUTIONS_DATA_PRUNEtrue且EXECUTIONS_DATA_MAX_AGE168执行记录保留 168 小时后清理、N8N_PAYLOAD_SIZE_MAX256允许较大的请求体便于传输图像类数据、WEBHOOK_URLhttp://localhost:5678保证编辑器内生成的 webhook 地址正确。持久化方面n8n 的工作流与凭据落在./data/n8n挂载到容器内/home/node/.n8nAgent Zero 数据在./data/agent-zeroComfyUI 的模型/输入/输出/自定义节点全部位于./shared/comfyui/下。备份时重点关注data/、shared/与.env三处见 CHEAT-SHEET.md 的Backup Your Work。十一、Ubuntu 进阶技巧1. 创建桌面快捷方式在~/Desktop/ai-stack.desktop写入以下内容原文档给出的完整命令cat ~/Desktop/ai-stack.desktop EOF [Desktop Entry] TypeApplication NameAI Stack CommentStart AI Automation Stack Execgnome-terminal -- bash -c cd ~/n8n-workflows/ai-stack ./start.sh; exec bash Iconapplications-internet Terminaltrue EOF chmod x ~/Desktop/ai-stack.desktop2. systemd 开机自启创建单元文件sudo nano /etc/systemd/system/ai-stack.service内容如下YOUR_USERNAME替换为实际用户名[Unit] DescriptionAI Automation Stack Afterdocker.service Requiresdocker.service [Service] Typeoneshot RemainAfterExityes WorkingDirectory/home/YOUR_USERNAME/n8n-workflows/ai-stack ExecStart/home/YOUR_USERNAME/n8n-workflows/ai-stack/start.sh ExecStop/home/YOUR_USERNAME/n8n-workflows/ai-stack/start.sh --stop UserYOUR_USERNAME [Install] WantedBymulti-user.target然后启用sudo systemctl enable ai-stack sudo systemctl start ai-stack注意Requiresdocker.service依赖声明栈必须在 Docker 之后启动且User必须是已加入 docker 组的用户否则会撞上前面Permission denied的坑。3. 资源监控# 安装 htop sudo apt install -y htop # 实时查看各容器资源占用 docker stats # 每秒刷新 GPU 用量NVIDIA 环境 watch -n 1 nvidia-smi十二、日常运维命令与完整重置# Docker 服务状态 sudo systemctl status docker # 运行中的容器 docker ps # 跟随全部容器日志 docker compose logs -f重启一切不删数据./start.sh --stop docker system prune -f ./start.sh完整重置会删除全部数据慎用./start.sh --stop docker compose down -v rm -rf data/ shared/ ./start.shdocker compose down -v移除命名卷rm -rf data/ shared/删除宿主机上的工作流数据、智能体数据与模型文件之后脚本会按 start.sh 的目录数组重新创建空目录。十三、成功核对清单与下一步部署完成后逐项确认原文档 Success ChecklistDocker 已安装并在运行仓库代码已获取当前处于ai-stack/目录start.sh已具备可执行权限脚本成功执行并打印 AI Stack is running!三个 URL 均能在浏览器打开n8n 显示欢迎界面ComfyUI 显示节点界面Agent Zero 显示聊天界面验证 n8n 与 ComfyUI 内部网络连通性的推荐做法导入仓库自带的 comfyui-simple-test.json。该工作流用 Webhook 节点监听comfyui-status路径经 HTTP Request 节点请求http://comfyui:8188/system_stats与/object_info注意这里用的是 Compose 内部服务名comfyui而非 localhost最后由 Code 节点汇总出status: connected与可用节点数。在 n8n 中导入并激活后访问 http://localhost:5678/webhook/comfyui-status 应返回 ComfyUI 的系统统计。之后的进阶动作把 SD 模型放入shared/comfyui/models/checkpoints/导入 comfyui-image-generation.json 走通webhook 触发 →POST /prompt排队 → 轮询/history/{prompt_id}→ 取图的完整生成链路更多细节参见 README.mdAPI 参考与集成架构、SUMMARY.md学习路径、TROUBLESHOOTING.md跨平台排障与 CHEAT-SHEET.md命令速查。【免费下载链接】n8n-workflowsall of the workflows of n8n i could find (also from the site itself)项目地址: https://gitcode.com/GitHub_Trending/n8nworkflo/n8n-workflows创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考