Windows 10 本地部署工作流自动化工具 n8n

news/2025/11/13 22:13:53/文章来源:https://www.cnblogs.com/xiaqiuchu/p/19219720

参考

  • 豆包
  • deepseek
  • https://docs.n8n.io/
  • https://zhuanlan.zhihu.com/p/1968808989946016165
  • https://blog.csdn.net/qq_43499921/article/details/154605297
  • https://www.n8nclub.com.cn/article/docker_n8n#1ef34a84d1e9804598b6f8731876db49

环境

软件/系统 版本 说明
Windows windows 10 专业版 22H2 64 位操作系统, 基于 x64 的处理器
Docker Desktop 4.48.0
Docker Docker version 28.5.1, build e180ab8
Docker Compose Docker Compose version v2.40.0-desktop.1
postgres 16-alpine 镜像
n8n 1.119.1 镜像

正文

下面的内容由豆包生成

以下是适配 PostgreSQL 数据库的 n8n Docker Compose 配置文件(docker-compose.yml),基于官方推荐规范优化,包含数据持久化、时区配置、安全加固等核心特性:

version: '3.8'services:# PostgreSQL 数据库服务postgres:image: postgres:16-alpine  # 轻量稳定的PostgreSQL镜像,适配生产环境container_name: n8n-postgresrestart: always  # 容器异常时自动重启environment:POSTGRES_USER: n8n_user  # 数据库用户名(可自定义)POSTGRES_PASSWORD: ${DB_PASSWORD}  # 数据库密码(建议通过环境变量注入,避免硬编码)POSTGRES_DB: n8n_db  # n8n专用数据库名(可自定义)TZ: ${TIMEZONE}  # 时区统一(与n8n服务保持一致)volumes:- postgres_data:/var/lib/postgresql/data  # 数据持久化卷,避免容器删除后数据丢失healthcheck:# 健康检查:确保数据库启动完成后再启动n8ntest: ["CMD-SHELL", "pg_isready -U n8n_user -d n8n_db"]interval: 5stimeout: 5sretries: 5networks:- n8n-network  # 独立网络,隔离服务# n8n 服务n8n:image: n8nio/n8n:latest  # 使用稳定版n8n(生产环境推荐,如需测试可改为next)container_name: n8nrestart: alwaysenvironment:# 时区配置(与数据库统一,避免时间同步问题)GENERIC_TIMEZONE: ${TIMEZONE}TZ: ${TIMEZONE}# 强制配置文件权限(安全加固,防止非授权修改)N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"# 数据库连接配置(关联PostgreSQL服务)DB_TYPE: postgresdbDB_POSTGRESDB_HOST: postgres  # 容器名作为hostname(同一网络下可直接访问)DB_POSTGRESDB_PORT: 5432  # PostgreSQL默认端口DB_POSTGRESDB_DATABASE: n8n_db  # 与PostgreSQL的POSTGRES_DB一致DB_POSTGRESDB_USER: n8n_user  # 与PostgreSQL的POSTGRES_USER一致DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}  # 与PostgreSQL的POSTGRES_PASSWORD一致# 可选:n8n安全配置(生产环境建议启用)N8N_BASIC_AUTH_ACTIVE: "true"  # 启用基础认证N8N_BASIC_AUTH_USER: ${N8N_USER}  # n8n登录用户名N8N_BASIC_AUTH_PASSWORD: ${N8N_PASSWORD}  # n8n登录密码# N8N_PROTOCOL: "https"  # 生产环境建议启用HTTPS(需配合反向代理)volumes:- n8n_data:/home/node/.n8n  # n8n配置、工作流数据持久化卷ports:- "5678:5678"  # 暴露n8n默认端口(宿主机端口:容器端口,可自定义宿主机端口)depends_on:postgres:condition: service_healthy  # 依赖PostgreSQL健康检查通过后启动networks:- n8n-network# 定义共享网络(隔离容器通信)
networks:n8n-network:driver: bridge# 定义数据卷(持久化存储)
volumes:postgres_data:  # PostgreSQL数据卷n8n_data:       # n8n配置/工作流数据卷

使用说明

  1. 环境变量配置:在 docker-compose.yml 同级目录创建 .env 文件,填写以下参数(自定义值):
     # 数据库密码(建议复杂密码)DB_PASSWORD=xiaqiuchu_db_password# 时区(例如Asia/Shanghai、Europe/London)TIMEZONE=Asia/Shanghai# n8n登录认证(可选,生产环境建议配置)N8N_USER=xiaqiuchu_n8n_usernameN8N_PASSWORD=xiaqiuchu_n8n_password
    
  2. 启动服务
    # 启动容器(后台运行)
    docker-compose up -d# 查看日志(排查启动问题)
    docker-compose logs -f
    
  3. 访问n8n:浏览器打开 http://<服务器IP>:5678(如配置HTTPS,需改为 https),输入 .env 中配置的 N8N_USERN8N_PASSWORD 登录。

核心特性说明

  • 数据持久化:通过 postgres_datan8n_data 卷分别持久化数据库数据和n8n配置/工作流,容器删除后数据不丢失。
  • 服务依赖:通过 depends_on + 健康检查确保PostgreSQL完全启动后再启动n8n,避免连接失败。
  • 安全加固:启用配置文件权限强制校验、可选基础认证,数据库密码通过环境变量注入(避免硬编码泄露)。
  • 兼容性:基于官方推荐的Docker镜像和配置规范,支持Linux、Mac、Windows(Docker Desktop)环境。

扩展建议

  • 生产环境建议搭配反向代理(如Nginx)配置HTTPS证书。
  • 如需监控,可添加Prometheus + Grafana组件(参考n8n官方文档)。
  • 定期备份 postgres_datan8n_data 卷数据,避免意外丢失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/964769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gary Yen教授在BICTA2025做主旨汇报并访问本课题组

2025年11月7日至8日,本课题组成功举办了一场高水平的国际学术交流活动。此次活动邀请到了国际计算智能领域著名学者、四川大学人工智能讲席教授Gary G. Yen教授莅临本组进行学术访问与交流,并出席在武汉举办的第20届…

EUC 2024 题解(瞎写的

这场比赛,感觉题目很好。但是总的有点奇异搞笑。 A. Grove 退火哦耶! 官方题解给的是最大独立集搜索,也很搞笑哥们。 B. Charming Meals 显然的 \(a\) 的前缀依次匹配 \(b\) 的后缀,\(a\) 的后缀依次匹配 \(b\) 的…

污染控制化学及工程考点背诵手册

污染控制化学及工程考点背诵手册(修订版) 一、固体废物污染及控制(核心考点) (一)基础概念固体废物定义:生产/生活/其他活动产生的丧失利用价值或被抛弃的固态、半固态及容器中气态物质,含危险废物。 危险废物…

关于AI元人文构想与价值工程生态系统的全面研究报告

关于AI元人文构想与价值工程生态系统的全面研究报告岐金兰 2025年11月13日 本报告系统性地阐述了一套旨在应对当前人工智能伦理挑战的创新型理论体系。 📚 报告全文概览 以下是本报告各章节的核心概要,可以帮助读者…

图论有关问题

mndzk,mndbu。 最短路相关 1. 三角形不等式 对于单源最短路,记 \(dis_i\) 为原点到 \(i\) 的最短路径长度。那么 \(\forall (u,v,w) \in E,dis_{u}+w \ge dis_v\)。且在边 \((u,v,w)\) 在最短路上时取等。这个比较显…

杂记 - 2

作者:So_noSlack-2025.11.03想写点东西,总结一下最近的经历吧。 上次写是 \(2025.09.29\),这又过了一个月了,\(10\) 月份的第一周国庆,写写学校作业,回老家了一趟,其他好像也没干什么。对于 \(\text{OI}\) 貌似…

算法随笔 - LogTrick

这类 \(O(\log V)\) 的 trick,都是利用了值变化单调且变化幅度大的特性 每次下降或上升都跨越一个“数量级”,因此变化次数有限,即使包在循环中整体也只会是 \(O(n \log V)\) 而非 \(O(n^2)\)。 下面举几个比较典型…

杂记 - 4

作者:So_noSlack-2025.11.13今天是 \(2025\) 年 \(11\) 月 \(13\) 日。 最近感觉状态好多了,从 \(25.11.11\) 开始每天写做题笔记,写完题之后或者写之前把思路简单写一下。感觉挺有用的,顺便把每个算法都整理一下。…

智能眼镜论文笔记

智能眼镜论文笔记 目录智能眼镜论文笔记0x00 概要0x01 论文内容总结1.1 AI for Service1.1.1 研究背景与核心范式1.1.2 核心技术挑战与解决方案1.1.3 Alpha-Service 框架设计1.1.4 思考1.2 EgoLife1.2.1 背景1.2.2 数据…

杂记 - 3

高一?我怎么已经高一了。 仿佛上一次抬头,我还在小学的教室里,和有趣的同学们一同上数学课。作为数学课代表的我,当然对数学课满腔热情,积极回应老师的每一个问题。下课和同学聊八卦、分零食,最好的朋友教我打篮…

LeetCode 面试经典 150_栈_简化路径(53_71_C++_中等)(栈+stringstream) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

污染控制化学及工程知识点整理

污染控制化学及工程(第一章)核心内容梳理 一、思维导图二、简答题及解说 1. 简述环境地球化学的核心研究内容及在环境污染治理中的作用 答案:核心研究内容包括环境生物地球化学循环的过程与关键反应、影响因素、耦合…

夯实MySQL基础:SQL核心与MySQL入门全解析

夯实MySQL基础:SQL核心与MySQL入门全解析在数据驱动的时代,MySQL作为全球最受欢迎的关系型数据库管理系统之一,已成为软件开发、数据分析等领域的核心工具。无论是小型项目的数据存储,还是大型网站的高并发数据处理…

400万美元ARR,小企业和个人AI客服Beside融资3200万美元;KalpaLabs:不到1000美元训练语音模型丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、…

优先级队列的学习 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Codeforces Round 1063 (Div. 2)题解

A. Souvlaki VS. Kalamaki 【题目】 给定一个长为n的数组nums,A,B两个人轮流行动。A先开始 第i轮,当前行动人可以跳过或者交换nums[i]和nums[i+1] 开始时A可以对nums任意排序。 要求最后nums必须是非递减,则A胜否则…

system自启动

system自启动[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com BindsTo=containerd.service After=network-online.target containerd.service Wants=network-online.t…

25.11.13联考题解

A 神人构造,随机区分度真恶心。 我们考虑将序列分成前半段限制为 \(m\) 和后半段限制为 \(m=0\)。前面我们用 \(n,n-1,\dots,n-m+1\) 并让其合法即可,考虑后面的构造。考虑把序列分成尽量相等的三段,然后大的两段从…

2025.11.13模拟赛

赛场心态下去了,回不来了,悲( T3有望做出来的,没想dp 考虑到其实可以考虑只有一个区间变为大区间然后统计答案即可,考场上想了半天这东西怎么维护 其实拿一个线段树用脚区间+1,-1,维护区间标记为0的权值和 这个…