自托管 n8n 在 GCR 的启动和配置教程
2025-04-24 20:13:30作者:曹令琨Iris
1. 项目目录结构及介绍
在克隆或下载自托管 n8n 在 GCR 的项目后,您会看到以下目录结构:
self-host-n8n-on-gcr/
├── .dockerignore
├── .gitignore
├── Dockerfile
├── docker-compose.yml
├── entrypoint.sh
├── install.sh
├── n8n
│ ├── .env
│ ├── .n8n
│ ├── data
│ ├── db
│ ├── node_modules
│ ├── package.json
│ ├── package-lock.json
│ └── workflows
└── README.md
这里简要介绍每个主要部分:
.dockerignore:包含不应该被 Docker 包含在构建上下文中的文件和目录。.gitignore:包含不应该被 Git 跟踪的文件和目录。Dockerfile:定义了构建 Docker 镜像的指令。docker-compose.yml:定义了用于运行 n8n 服务的 Docker 服务配置。entrypoint.sh:启动容器时运行的脚本,用于初始化 n8n。install.sh:用于安装 n8n 的依赖项。n8n:包含了 n8n 的应用文件和配置。.env:环境变量文件。.n8n:n8n 的配置目录。data:存储 n8n 数据的目录。db:数据库存储目录。node_modules:n8n 的依赖模块目录。package.json:n8n 的依赖和配置文件。package-lock.json:锁定 n8n 依赖的版本。workflows:n8n 工作流目录。
2. 项目的启动文件介绍
项目的启动主要通过以下文件进行:
entrypoint.sh:这是一个 shell 脚本,用于在容器启动时初始化 n8n 环境。它会检查是否需要安装 n8n,然后启动 n8n 服务。docker-compose.yml:使用 Docker Compose 的 YAML 文件定义了 n8n 服务。它定义了服务容器、网络、卷等配置。以下是一个简化的配置示例:
version: '3.8'
services:
n8n:
build: .
container_name: n8n
environment:
- N8N_DATABASE_TYPE=sqlite
- N8NDisallowUpdate=true
ports:
- "5678:5678"
volumes:
- ./n8n/data:/app/data
- ./n8n/db:/app/db
- ./n8n/workflows:/app/workflows
restart: unless-stopped
- 使用
docker-compose up -d命令可以启动服务。
3. 项目的配置文件介绍
项目的配置主要通过以下文件进行:
.env:这是 n8n 的环境变量文件,它用于配置 n8n 的运行环境。以下是一些常见的配置项:
N8N_DATABASE_TYPE=sqlite
N8NDisallowUpdate=true
N8N_PORT=5678
- 这些环境变量可以在
docker-compose.yml文件中设置,或者直接在.env文件中定义。
通过以上介绍,您应该能够了解自托管 n8n 在 GCR 项目的目录结构、启动文件和配置文件的基础知识,并能够开始进行自托管 n8n 的部署和配置。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0210- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
MarkFlowy一款 AI Markdown 编辑器TSX01
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
619
4.08 K
Ascend Extension for PyTorch
Python
453
538
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
暂无简介
Dart
859
205
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
926
777
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.48 K
837
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
114
178
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
374
255
昇腾LLM分布式训练框架
Python
133
159