first build nexus
This commit is contained in:
179
Technical/Workflow/n8n docker install & update.md
Normal file
179
Technical/Workflow/n8n docker install & update.md
Normal file
@@ -0,0 +1,179 @@
|
||||
|
||||
#n8n #docker #workflow
|
||||
|
||||
|
||||
|
||||
## n8n Docker install
|
||||
### n8n Docker Compose file
|
||||
``` bash
|
||||
cd /home/shenwei/Docker/n8n
|
||||
```
|
||||
|
||||
create **docker-compose.yml** file
|
||||
``` yaml
|
||||
|
||||
version: '3.8'
|
||||
services:
|
||||
n8n:
|
||||
build: .
|
||||
image: docker.n8n.io/n8nio/n8n
|
||||
container_name: n8n
|
||||
ports:
|
||||
- "5678:5678" # 只绑定到本地,通过 Caddy 访问
|
||||
volumes:
|
||||
- n8n_data:/home/node/.n8n
|
||||
environment:
|
||||
- N8N_PROTOCOL=https
|
||||
- N8N_HOST=n8n.ishenwei.online
|
||||
- WEBHOOK_URL=https://n8n.ishenwei.online/
|
||||
- N8N_TRUST_PROXY=true
|
||||
- N8N_SECURE_COOKIE=true # 建议设为 true,因为使用 HTTPS
|
||||
- N8N_PROXY_HOPS=1
|
||||
- ALL_PROXY=socks5://172.21.0.1:10808 #配置容器内网络代理
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
n8n_data:
|
||||
|
||||
networks:
|
||||
n8n_default:
|
||||
external: true
|
||||
|
||||
```
|
||||
|
||||
Dockerfile
|
||||
```
|
||||
FROM n8nio/n8n:latest
|
||||
USER root
|
||||
|
||||
# 安装 curl 和 wget
|
||||
RUN apk update && apk add --no-cache curl wget
|
||||
|
||||
USER node
|
||||
```
|
||||
|
||||
### Updating Docker Compose
|
||||
[Doc](https://docs.n8n.io/hosting/installation/docker/#updating-docker-compose "Permanent link")
|
||||
|
||||
If you run n8n using a Docker Compose file, follow these steps to update n8n:
|
||||
|
||||
``` bash
|
||||
# Navigate to the directory containing your docker compose file
|
||||
cd </path/to/your/compose/file/directory>
|
||||
|
||||
# Pull latest version
|
||||
docker compose pull
|
||||
|
||||
# Stop and remove older version
|
||||
docker compose down
|
||||
|
||||
# Start the container
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Config n8n network proxy
|
||||
|
||||
#### 1️⃣ 前提条件
|
||||
|
||||
1. V2Ray/Tuic 已安装在宿主机并正常运行。
|
||||
2. V2Ray/Tuic 配置中 **本地监听地址改为 `0.0.0.0`**,端口假设为 `10808`:
|
||||
在V2rayN GUI里需要打开如下配置:
|
||||
![[IMG-20251230094029556.png]]
|
||||
|
||||
3. Docker 网络 `n8n_default` 已存在(由 docker-compose 自动创建即可)
|
||||
4. 宿主机防火墙允许 Docker 网桥访问代理端口:
|
||||
```
|
||||
sudo ufw allow from 172.18.0.0/16 to any port 10808
|
||||
```
|
||||
#### 2️⃣ Dockerfile(扩展官方 n8n 镜像,安装 curl/wget)
|
||||
|
||||
创建 `Dockerfile`:
|
||||
``` bash
|
||||
FROM n8nio/n8n:latest
|
||||
|
||||
USER root
|
||||
|
||||
# 安装 curl 和 wget
|
||||
RUN apk update && apk add --no-cache curl wget
|
||||
|
||||
USER node
|
||||
```
|
||||
- 保持 n8n 默认用户 `node`,安全性高。
|
||||
- 容器内可以直接使用 `curl`、`wget` 测试代理。
|
||||
|
||||
---
|
||||
#### 3️⃣ docker-compose.yml 示例
|
||||
``` yaml
|
||||
|
||||
version: '3.8'
|
||||
services:
|
||||
n8n:
|
||||
build: .
|
||||
image: docker.n8n.io/n8nio/n8n
|
||||
container_name: n8n
|
||||
ports:
|
||||
- "5678:5678" # 只绑定到本地,通过 Caddy 访问
|
||||
volumes:
|
||||
- n8n_data:/home/node/.n8n
|
||||
environment:
|
||||
- N8N_PROTOCOL=https
|
||||
- N8N_HOST=n8n.ishenwei.online
|
||||
- WEBHOOK_URL=https://n8n.ishenwei.online/
|
||||
- N8N_TRUST_PROXY=true
|
||||
- N8N_SECURE_COOKIE=true # 建议设为 true,因为使用 HTTPS
|
||||
- N8N_PROXY_HOPS=1
|
||||
- ALL_PROXY=socks5://172.21.0.1:10808 #配置容器内网络代理
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
n8n_data:
|
||||
|
||||
networks:
|
||||
n8n_default:
|
||||
external: true
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
- `ALL_PROXY` 指向宿主机 Docker 网桥 IP + Tuic SOCKS5 端口
|
||||
- 容器内 HTTP/HTTPS 流量和 n8n 请求都会走 SOCKS5
|
||||
- 端口 5678 映射宿主机,便于访问 n8n UI
|
||||
|
||||
> [!注意]
|
||||
注意:`172.21.0.1` 需替换为以下命令输出的网桥 IP(Gateway)。
|
||||
``` bash
|
||||
|
||||
docker network inspect n8n_default
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### 4️⃣ 在容器内测试科学上网
|
||||
|
||||
进入容器:
|
||||
```
|
||||
docker exec -it n8n /bin/sh
|
||||
```
|
||||
测试:
|
||||
```
|
||||
# 测试 IP
|
||||
curl --socks5 172.18.0.1:10808 https://ifconfig.me
|
||||
|
||||
# 或者使用全局代理环境变量
|
||||
curl https://ifconfig.me
|
||||
wget -qO- https://ifconfig.me
|
||||
```
|
||||
|
||||
如果返回国外 IP,说明代理生效。
|
||||
|
||||
---
|
||||
#### 5️⃣ 可选优化
|
||||
|
||||
- **Dockerfile 内设置环境变量**:可直接在镜像内定义 `ALL_PROXY`,启动容器无需手动设置。
|
||||
- **安全防护**:宿主机防火墙限制仅 Docker 网桥访问 10808,避免局域网被访问。
|
||||
- **升级 n8n**:定期 rebuild 镜像即可。
|
||||
|
||||
## Reference
|
||||
|
||||
[[n8n configure telegram trigger|n8n configure telegram trigger]]
|
||||
Reference in New Issue
Block a user