--- title: "n8n Docker 安装与更新" type: source tags: [docker, n8n, workflow, 自动化] sources: [] last_updated: 2025-12-30 --- ## Source File - [[Agent/n8n docker install & update]] ## Summary(用中文描述) - **核心主题**:n8n 工作流自动化平台的 Docker 容器化部署与配置,包括网络代理设置和版本更新流程 - **问题域**:在家庭服务器环境中通过 Docker 部署 n8n,并解决容器内访问国外 API 的网络代理问题 - **方法/机制**: - 自定义 Dockerfile 扩展官方 n8n 镜像(安装 curl/wget 工具) - Docker Compose YAML 配置 HTTPS、反向代理环境变量 - 通过 `ALL_PROXY` 环境变量配置容器内 SOCKS5 代理,使 n8n 节点可访问国外服务 - 使用 `docker compose pull && down && up -d` 流程更新版本 - **结论/价值**:提供一套完整的 n8n Docker 生产级部署方案,包含网络安全代理配置和版本维护脚本 ## Key Claims(用中文描述) - 宿主机 V2Ray/Tuic 需配置 `0.0.0.0` 监听,并将 SOCKS5 端口(10808)暴露给 Docker 网桥 - Docker 容器内通过 `ALL_PROXY=socks5://172.21.0.1:10808` 环境变量使所有出站流量走代理 - Docker 网桥网关 IP(`docker network inspect n8n_default` 查看 Gateway)需替换实际值 - `N8N_TRUST_PROXY=true` 配合 Caddy 反向代理实现真实客户端 IP 传递 - 更新 n8n 版本只需 `docker compose pull && docker compose down && docker compose up -d` ## Key Quotes > "注意:`172.21.0.1` 需替换为以下命令输出的网桥 IP(Gateway)。`docker network inspect n8n_default`" — 容器内访问宿主机代理的关键网络配置说明 > "配置容器内网络代理" — n8n 节点(如 HTTP Request)访问国外 API 的核心机制 ## Key Concepts - [[Docker网络网关IP]]:Docker 容器内访问宿主机服务的网关地址,自定义网络如 `172.21.0.1` - [[SOCKS5代理]]:通过 SOCKS5 协议转发 HTTP/HTTPS 流量的代理机制,`ALL_PROXY` 环境变量启用 - [[环境变量代理]]:通过 `HTTP_PROXY/HTTPS_PROXY/ALL_PROXY` 环境变量让程序走代理 - [[Caddy反向代理]]:`N8N_TRUST_PROXY=true` 使 n8n 获取真实客户端 IP - [[Docker卷]]:n8n 数据持久化卷 `n8n_data`,挂载至 `/home/node/.n8n` - [[Docker Compose]]:声明式定义 n8n 服务的 YAML 配置文件 ## Key Entities - [[n8n]]:开源工作流自动化平台,支持可视化编排和 API 集成 - [[Docker]]:容器化运行时,n8n 的部署底座 - [[V2Ray/Tuic]]:宿主机运行的代理客户端,提供 SOCKS5 服务 ## Connections - [[n8n]] ← 部署方式 ← [[Docker]] - [[n8n]] ← 网络代理 ← [[SOCKS5代理]] - [[SOCKS5代理]] ← 运行于 ← [[Docker网络网关IP]] - [[n8n configure telegram trigger]] ← 相关配置 ← [[n8n]] ## Contradictions - 无已知冲突