65 lines
2.6 KiB
Markdown
65 lines
2.6 KiB
Markdown
---
|
||
title: "n8n Docker 安装与 SOCKS5 代理配置"
|
||
type: source
|
||
tags: [n8n, docker, socks5, self-hosted, proxy]
|
||
date: 2025-12-30
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Agent/n8n docker install & update.md]]
|
||
|
||
## Summary
|
||
- 核心主题:n8n Docker 部署并配置 SOCKS5 代理访问外网
|
||
- 问题域:n8n 容器内网络隔离,需要通过宿主机代理访问 AI API(OpenAI/Claude 等)
|
||
- 方法/机制:Docker 自定义 Dockerfile 安装 curl/wget + docker-compose ALL_PROXY 环境变量指向宿主机 Docker 网桥 SOCKS5 端口
|
||
- 结论/价值:容器内 AI 工作流节点可正常访问被墙或海外服务
|
||
|
||
## Key Claims
|
||
- n8n 容器默认网络隔离,HTTP/HTTPS 请求无法直接访问外网 AI 服务
|
||
- `ALL_PROXY=socks5://172.21.0.1:10808` 将容器流量路由到宿主机 SOCKS5 代理
|
||
- Docker 网桥网关地址(`docker network inspect n8n_default` 中的 Gateway)决定宿主机代理监听地址
|
||
- 更新 n8n:进入 docker-compose 目录 → `docker compose pull` → `docker compose down` → `docker compose up -d`
|
||
|
||
## Key Quotes
|
||
> "注意:`172.21.0.1` 需替换为以下命令输出的网桥 IP(Gateway)" — 网桥 IP 因环境而异,必须动态获取
|
||
|
||
## Key Concepts
|
||
- [[Docker 网桥网络]]: Docker 默认 bridge 网络模式,容器通过 `172.17.0.1`(Linux)或 `172.18.0.1`/`172.21.0.1`(macOS Docker Desktop)访问宿主机
|
||
- [[SOCKS5 代理]]: 一种代理协议,支持 TCP/UDP 流量转发;`socks5h://` 模式由代理服务器解析 DNS,防止 DNS 污染
|
||
- [[ALL_PROXY]]: 环境变量,HTTP/HTTPS/SOCKS 协议通用代理设置
|
||
- [[Docker 自定义 Dockerfile]]: 基于官方镜像安装额外工具(curl/wget)的标准方式
|
||
|
||
## Key Entities
|
||
- [[n8n]]: 开源工作流自动化平台,支持 543+ 节点,本项目 AI 自动化核心
|
||
- [[V2Ray]]: SOCKS5 代理服务端,监听宿主机 `0.0.0.0:10808`
|
||
|
||
## Connections
|
||
- [[n8n-Telegram-Trigger-HTTPS配置修复]] ← relates_to ← [[n8n-Docker安装与SOCKS5代理配置]](同属 n8n 自托管部署实战)
|
||
|
||
## Contradictions
|
||
- 与"n8n 官方推荐直接暴露 5678 端口"不同:本方案通过 Caddy 反向代理隐藏端口,仅暴露 HTTPS 端点
|
||
|
||
## Docker Compose 关键配置
|
||
```yaml
|
||
environment:
|
||
- N8N_PROTOCOL=https
|
||
- N8N_HOST=n8n.ishenwei.online
|
||
- WEBHOOK_URL=https://n8n.ishenwei.online/
|
||
- N8N_TRUST_PROXY=true
|
||
- N8N_SECURE_COOKIE=true
|
||
- ALL_PROXY=socks5://172.21.0.1:10808
|
||
networks:
|
||
n8n_default:
|
||
external: true
|
||
```
|
||
|
||
## 容器内测试代理
|
||
```bash
|
||
docker exec -it n8n /bin/sh
|
||
curl --socks5 172.18.0.1:10808 https://ifconfig.me
|
||
# 返回国外 IP 即表示代理生效
|
||
```
|
||
|
||
## Tags
|
||
- #n8n #docker #proxy #self-hosted
|