Mac 本地搭建 n8n 自动化工具(Docker 方式)

通过 Docker 容器化部署 n8n,实现环境隔离、数据持久化管理,快速搭建个人/团队自动化工作流平台。


image.png

一、前置准备

1.1 了解 n8n 与 Docker

  • n8n:开源自托管自动化工具,通过可视化节点编排实现跨应用数据同步(如 Slack 通知、Google Sheets 同步、API 调用等)。
  • Docker:容器化技术,隔离环境依赖,简化安装与维护(无需手动配置 Node.js 或其他运行时)。

1.2 安装 Docker Desktop(Mac)

Docker 是运行 n8n 容器的前提,需先安装 Docker Desktop:

  1. 访问 Docker 官网,下载 Mac 版本安装包(.dmg)。
  2. 双击安装包,将 Docker 图标拖拽到 Applications 文件夹。
  3. 启动 Docker Desktop(通过 Launchpad 或 Spotlight 搜索),等待初始化完成(状态栏显示 Docker 图标及“Docker 正在运行”)。

二、部署 n8n 容器

2.1 拉取 n8n 官方镜像

打开终端(Terminal),执行以下命令拉取最新版 n8n 镜像:

docker pull n8nio/n8n:latest

  • 若需指定版本(如 v1.24.0),替换 latest 为具体版本号(可从 n8n 发布页 查看)。

2.2 启动 n8n 容器(关键配置说明)

执行以下命令启动容器,重点关注数据持久化与端口映射:

docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=admin --restart unless-stopped n8nio/n8n:latest

参数详解

  • d:后台运行容器( detached mode)。
  • -name:容器别名,方便后续管理(如 docker stop n8n)。
  • p:端口映射,格式为 本地端口:容器端口(n8n 默认监听 5678)。
  • v:数据卷映射,~/.n8n 是本地 Mac 的隐藏目录(自动创建),用于持久化存储 n8n 的配置文件、工作流数据等(重要!避免容器删除后数据丢失)。
  • e:环境变量,设置管理员账号密码(不设置时,首次访问会提示随机生成的账号密码,需查看容器日志获取)。
  • -restart unless-stopped:确保容器意外退出后自动恢复(生产环境推荐)。

三、验证安装与访问界面

3.1 检查容器状态

执行以下命令确认容器正常运行:

docker ps | grep n8n

  • 若显示 Up 状态(如 n8n ... Up 5 minutes),说明容器启动成功。

3.2 访问 n8n Web 界面

打开浏览器,输入 http://localhost:5678,进入 n8n 登录页:

• 若设置了 -e N8N_BASIC_AUTH_USER-e N8N_BASIC_AUTH_PASSWORD,使用设置的账号密码登录。

  • 若未设置,首次登录会提示随机生成的账号(如 admin)和密码(查看容器日志获取:docker logs n8n)。

四、数据管理与备份

4.1 数据存储路径

n8n 的核心数据(工作流、配置、插件)存储在本地 ~/.n8n 目录下:

~/.n8n/.config:配置文件(如数据库连接、邮件设置)。

  • ~/.n8n/.data:工作流定义、用户数据等。

4.2 手动备份数据

定期备份 ~/.n8n 目录即可完整保存 n8n 数据:

# 备份到其他目录(如 ~/Backups/n8n-backup)
cp -r ~/.n8n ~/Backups/n8n-backup

4.3 恢复数据

若容器损坏或需迁移,只需将备份的 ~/.n8n 目录覆盖到本地,重新启动容器即可恢复数据。

五、服务管理(启动/停止/重启)

通过 Docker 命令管理容器生命周期:

操作 命令 说明
启动容器 docker start n8n 启动已停止的容器
停止容器 docker stop n8n 停止运行中的容器
重启容器 docker restart n8n 重启容器(保留数据)
查看容器日志 docker logs n8n 查看启动日志或错误信息(调试用)

六、升级 n8n 版本

Docker 方式升级非常便捷,无需手动迁移数据:

  1. 拉取最新镜像(或指定版本):

    docker pull n8nio/n8n:latest  # 或 v1.25.0
    
    
  2. 停止并删除旧容器(数据卷保留):

    docker stop n8n && docker rm n8n
    
    
  3. 用新镜像重新启动容器(复用原数据卷):

    docker run -d \\\\
      --name n8n \\\\
      -p 5678:5678 \\\\
      -v ~/.n8n:/home/node/.n8n \\\\
      --restart unless-stopped \\\\
      n8nio/n8n:latest  # 使用新版本镜像
    
    

七、注意事项

  1. 端口冲突:若本地 5678 端口被占用,修改 p 参数(如 p 8080:5678,访问 http://localhost:8080)。

  2. 权限问题:若提示 Permission denied,尝试以管理员权限运行终端(或调整 ~/.n8n 目录权限:chmod -R 755 ~/.n8n)。

  3. 安全设置:生产环境建议:

    • 启用 HTTPS(通过 Nginx 反向代理配置 SSL 证书);

    • 修改默认管理员密码(避免弱密码);
    • 关闭不必要的端口(仅保留 5678)。

总结

通过 Docker 搭建 n8n 是最便捷、易管理的方式,兼顾环境隔离、数据持久化和灵活运维。只需几条命令即可完成部署,适合个人开发者、团队自动化场景。搭建完成后,通过可视化界面拖拽节点即可设计工作流,大幅提升跨应用协作效率!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容