n8n 一行命令自托管部署完整指南

发布时间:2026/9/17 10:04:27
n8n 一行命令自托管部署完整指南 n8n 一行命令自托管部署完整指南【免费下载链接】n8nFair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400 integrations.项目地址: https://gitcode.com/GitHub_Trending/n8/n8n如果你想在本地或自己的服务器上自托管一个 n8n 实例用可视化画布搭自动化工流官方的一行安装脚本是最快的路。把它丢进终端脚本会用 Docker Compose 拉起 n8n 本体、任务 runners、AI 沙箱和 SearXNG 搜索服务生成一套只属于这台机器的随机密钥等健康检查通过才收工。装完在浏览器打开 http://localhost:5678 就能开始建工作流。硬前提只有一个机器上装了 Docker含 Compose v2 插件且守护进程在运行。开始前检查Docker 环境自检清单跑命令前先对四项任何一项不过脚本都会立刻停下并指出是哪一项检查项怎么查不满足时怎么办Docker 与守护进程docker info正常返回先装 DockerPodman、Colima 等兼容引擎需装带 compose 插件的 docker CLI并用DOCKER_HOST指向它们的 socketCompose v2 插件docker compose version可执行旧的独立docker-compose二进制不受支持需升级 compose 插件5678 端口空闲curl http://127.0.0.1:5678/无响应只要有进程应答HTTP 响应或连接被接受就判定占用停掉占用进程或先改端口安装目录默认./n8n不能已存在且非空非空目录会被拒绝写入用N8N_DIR./some-dir换目录最小可行启动一行命令安装 n8n 步骤最短路径就这一行curl -fsSL https://get.n8n.io | sh想先审查再执行的话脚本头部推荐的方式先落地成文件通读一遍再跑curl -fsSL https://get.n8n.io -o get-n8n.sh less get-n8n.sh sh get-n8n.sh执行后脚本依次做这些事完整逻辑见安装脚本源码解析版本取最新稳定 release查询失败时回退到内置的2.32.0版本号以N8N_VERSION写入.env并固定不用浮动 tag容器重建不会静默升级或触发数据库迁移。在./n8n下生成三个文件compose.yml栈定义下载一次后归你所有脚本以后永不重写、.env权限 600内含本次安装随机生成的唯一密钥、searxng-settings.yml。拉取镜像首次可能要几分钟然后docker compose up -d启动全部服务。每 3 秒轮询http://127.0.0.1:5678/healthz最多等 180 秒。成功时打印摘要运行地址、数据位置、配置位置、启停命令和安全提示。常用选项拼在管道后环境变量按行前缀传选项 / 环境变量作用何时用sh -s -- --version 2.32.0安装指定版本必须像2.32.0这样三段式固定某个发布版本sh -s -- --version只打印脚本版本和将安装的 n8n 版本不做改动安装前确认版本号sh -s -- --no-start只写配置文件不拉镜像、不启动需要先改端口映射再手动启动N8N_DIR./some-dir改变安装目录默认./n8n当前目录下n8n不可用DO_NOT_TRACK1安装/升级失败时不再询问是否发送匿名失败报告非交互环境如何确认安装成功健康检查与容器状态别只看脚本自己的摘要用两个独立信号复核。健康检查端点脚本判定就绪用的就是它curl http://127.0.0.1:5678/healthz容器状态预期值来自仓库的e2e 测试docker compose -f n8n/compose.yml psn8n、sandbox-api、sandbox-runner-1、runners、searxng应为 runningsandbox-certs是一次性证书引导容器以退出码 0 结束exited 0。最后浏览器打开 http://localhost:5678看到编辑器就稳了日常操作速查启停、升级与卸载命令启停脚本成功摘要中给出的形式docker compose -f n8n/compose.yml down # 停止 docker compose -f n8n/compose.yml up -d # 启动在已有安装上不带--upgrade重跑一行脚本是安全的 no-op不改任何文件只报告当前状态、启动地址和升级命令。升级curl -fsSL https://get.n8n.io | sh -s -- --upgrade它只修改.env中的N8N_VERSION一行可与--version x.y.z组合指定目标版本然后拉取镜像并重启其他配置和密钥一概不动。若线上栈定义版本比本地compose.yml新它会提示你查看变更但不替你改写文件。卸载docker compose -f n8n/compose.yml down -v rm -rf n8n警告down -v会连带删除n8n-data数据卷rm -rf删除配置目录——全部工作流、凭据和执行记录都会丢失。执行前确认不再需要这个实例。常见失败排查端口占用与限流报错四种典型失败按「报错原文 → 原因 → 修复」处理something is already listening on port 5678原因机器上已有进程占用 5678。修复停掉占用进程重跑或加--no-start只生成配置手动改n8n/compose.yml的端口映射后再启动。./n8n exists and is not empty — refusing to write into it原因安装目录非空。修复用N8N_DIR./some-dir换一个干净目录。Docker Hub pull rate limit reached原因撞上 Docker Hub 匿名拉取限流。修复配置文件不受影响等约一小时用docker compose -f n8n/compose.yml up -d启动或docker login登录账号提高限额后重跑脚本。n8n did not become ready原因180 秒内/healthz没通过一般是启动卡住。修复docker compose -f n8n/compose.yml logs n8n查 n8n 容器日志。部署边界与轻量替代方案一行部署定位是本地试用TLS、Postgres、队列模式这类生产级需求不在脚本范围内。两件事必须记住。数据存在 Docker 卷n8n-data中挂载到容器内/home/node/.n8n工作流保存在 SQLite 数据库里该目录还有 webhook URL 和凭据加密密钥——启动时若找不到这些数据n8n 会自动生成新密钥已有凭据将无法再解密见镜像数据说明。安全边界方面只有 5678 端口应暴露到公网sandbox-runner-1是特权 Docker-in-Docker 容器永远不要发布它的端口runners、sandbox-api、searxng只在 compose 网络内以服务名访问不发布主机端口见栈定义文件。如果不想引入 runners/沙箱这套完整栈单容器方式更轻访问地址同样是 http://localhost:5678docker volume create n8n_data docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n注意这里数据卷名叫n8n_data和完整栈的n8n-data不同挂载路径同为/home/node/.n8n。【免费下载链接】n8nFair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400 integrations.项目地址: https://gitcode.com/GitHub_Trending/n8/n8n创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考