n8n Docker Compose部署

n8n Docker Compose 部署官方文档详细总结

1. 前提条件

  • 具备服务器、容器、网络和安全相关基础知识。
  • 推荐有 Linux 运维经验。
  • 已准备好一台服务器(建议为云服务器或本地服务器)。

2. 安装 Docker 和 Docker Compose

以 Ubuntu 为例,完整命令如下:

# 卸载旧版或不兼容的 Docker 相关包
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done# 安装依赖
sudo apt-get update
sudo apt-get install ca-certificates curl# 下载 Docker 仓库 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc# 添加 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 更新并安装 Docker 及 Compose 插件
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证安装:

docker --version
docker compose version

3. (可选)配置非 root 用户访问 Docker

将当前用户加入 docker 用户组:

sudo usermod -aG docker ${USER}
exec sg docker newgrp

如需为其他用户授权:

sudo usermod -aG docker <USER_TO_RUN_DOCKER>

验证组:

groups

4. DNS 设置

  • 建议为 n8n 创建专用子域名(如 n8n.example.com),并将其 A 记录指向服务器公网 IP。

5. 创建项目目录与 .env 文件

mkdir n8n-compose
cd n8n-compose

创建 .env 文件,示例内容:

DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Berlin
SSL_EMAIL=user@example.com

6. 创建本地文件目录

mkdir local-files

7. 创建 Docker Compose 文件

新建 compose.yaml,官方推荐内容如下:

services:traefik:image: "traefik"restart: alwayscommand:- "--api.insecure=true"- "--providers.docker=true"- "--providers.docker.exposedbydefault=false"- "--entrypoints.web.address=:80"- "--entrypoints.web.http.redirections.entryPoint.to=websecure"- "--entrypoints.web.http.redirections.entryPoint.scheme=https"- "--entrypoints.websecure.address=:443"- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"- "--certificatesresolvers.letsencrypt.acme.email=${SSL_EMAIL}"- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"ports:- "80:80"- "443:443"volumes:- traefik_data:/letsencrypt- /var/run/docker.sock:/var/run/docker.sock:rolabels:- "traefik.enable=true"n8n:image: n8nio/n8n:latestrestart: alwaysenvironment:- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}- N8N_BASIC_AUTH_ACTIVE=true- N8N_BASIC_AUTH_USER=admin- N8N_BASIC_AUTH_PASSWORD=admin- WEBHOOK_TUNNEL_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/labels:- "traefik.enable=true"- "traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)"- "traefik.http.routers.n8n.entrypoints=websecure"- "traefik.http.routers.n8n.tls.certresolver=letsencrypt"volumes:- n8n_data:/home/node/.n8n- ./local-files:/filesdepends_on:- traefikvolumes:n8n_data:traefik_data:

8. 启动与管理服务

启动服务:

sudo docker compose up -d

停止服务:

sudo docker compose stop

9. 访问 n8n

  • 通过 https://n8n.example.com 访问(根据 .env 配置)。
  • 仅支持 HTTPS 访问。

10. 常见问题与补充

  • 官方推荐生产环境使用 latest 镜像。
  • 更多环境变量、数据库、日志、安全等详见官方文档“Next steps”及相关链接。
  • 建议无经验用户优先选择 n8n Cloud 托管服务。

本文档内容基于 n8n 官方 Docker Compose 部署文档(https://docs.n8n.io/hosting/installation/server-setups/docker-compose),如需详细操作说明和配置示例,请参考原文档。

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

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

相关文章

Talk is cheap. Show me the code.手搓一个 Wayland 客户端程序

前几天我写了一篇万字长文《万字长文详解 Wayland 协议、架构》&#xff0c;但光讲协议分析难免有些枯燥。毕竟&#xff0c;程序员更信奉那句名言&#xff1a;Talk is cheap. Show me the code. 所以这篇文章不打算长篇大论&#xff0c;而是通过编写一个简单的 Wayland 客户端程…

Golang JSON 标准库用法详解

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;Go语言的标准库encoding/json提供了强大的JSON处理能力。下面我将详细介绍各种用法并提供示例代码。 1. 基本编码&#xff08;Marshal&#xff09; 将Go数据结构转换为JSON字符串。 package maini…

Day.42

hook函数&#xff1a; import torch import torch.nn as nn import numpy as np import matplotlib.pyplot as plt torch.manual_seed(42) np.random.seed(42) 张量钩子&#xff1a; x torch.tensor([2.0], requires_gradTrue) y x ** 2 z y ** 3 def tensor_hook…

【.net core】【sqlsugar】在where条件查询时使用原生SQL

//初始化查询 var query repository.IQueryable();//添加原生SQL WHERE条件 query query.Where(" fieldA < 123"); 对应调用ISugarQueryable接口类中&#xff1a; ISugarQueryable<T> Where(string whereString, object parameters null);

网络 : 传输层【TCP协议】

网络 : 传输层【TCP协议】 一、TCP协议段格式1.1 32位序号与确认号1.1.1 32位序号1.1.2 确认号 1.2 4位首部长度1.3 6位标志位1.4 16位窗口大小 二、确认应答(ACK)机制三、超时重传机制四、连接管理机制4.1 三次握手(连接)listen的第二个参数 4.2 四次挥手(断开连接)**TIME_WAI…

人大金仓Kingbase数据库 Ksql: 未找到命令

人大金仓Kingbase数据库 Ksql: 未找到命令 1. 定位 Kingbase 安装目录 Kingbase 数据库通常安装在 /kingbase/ES/V8/Server 目录下。可以通过以下命令定位&#xff1a; cd /kingbase/ES/V8/Server2. 验证 ksql 工具是否安装成功 执行以下命令检查 ksql 客户端工具的版本信息…

Flask(四) 模板渲染render_template

文章目录 &#x1f4e6; 过程详解&#xff08;路由 <-> HTML 模板&#xff09;&#x1f9e0; 数据是怎么传过去的&#xff1f;多变量示例 ✅ Jinja2 支持条件判断、循环、模板继承&#xff1a;✅ 安全性&#x1f512; Flask 默认也会对变量进行 HTML 转义&#xff1a;&am…

[附源码+数据库+毕业论文+开题报告]基于Spring+MyBatis+MySQL+Maven+jsp实现的宠物领养管理系统,推荐!

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对宠物领养信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差…

【ArcGIS】水资源单项评价

【ArcGIS】水资源单项评价 一、水资源单项评价1、评价思路 二、操作步骤1、处理环境设置2、数据处理3、要素转栅格4、水资源评价 一、水资源单项评价 1、评价思路 &#xff08;1&#xff09;省级层面宜选用四级/五级水资源分区或县级行政区为评价单元&#xff0c;按照水资源总…

Windows环境下C语言汇编语言编辑器及环境安装

安装MinGw&#xff1a; 1.下载安装文件 MinGW - 适用于 Windows 的极简主义 GNU 下载 |SourceForge.net 点击下载 下载之后就是如下图的安装文件 2.安装 双击安装文件进行安装&#xff0c;点击Install下一步 选择安装位置&#xff0c;默认是安装在C盘&#xff0c;点击Change…

【数据分析】分段逻辑回归示例分析(模拟数据)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包步骤 1:模拟数据步骤 2:构建逻辑回归和分段模型步骤 3:计算预测值和置信区间步骤 4:提取 OR 和统计值步骤 5:绘图展示结步骤 6:输出图片原始代码总结系统信息参考介绍…

Webpack 构建过程详解

Webpack 是一个功能强大的模块打包工具,它能够将项目中的各种资源(如 JavaScript、CSS、图片等)打包成一个或多个文件,以便于在浏览器中运行。本文将以 Webpack 5 为例介绍它的构建过程: 1. 初始化阶段 在这个阶段,Webpack 从配置文件和命令行参数中读取并解析配置。然…

Flutter基础(UI监听)

文本按钮&#xff08;TextButton&#xff09; 文本按钮是没有边框的按钮&#xff0c;当点击时会有涟漪效果。 TextButton(onPressed: () {// 点击按钮后要执行的代码print(文本按钮被点击了);},child: Text(点击我), ) 手势检测器&#xff08;GestureDetector&#xff09; …

Linux 下的 regulator 子系统

1、简介 regulator 框架是 Linux 内核中用于管理电压和电流调节器&#xff08;如 LDO、DCDC 转换器等&#xff09;的一个子系统。它提供了一个抽象层&#xff0c;使得驱动程序和内核的其他部分可以以一致的方式与调节器进行交互&#xff0c;而无需了解底层硬件的细节。 主要功能…

12345政务热线系统:接诉即办,赋能智慧城市治理

一、12345热线&#xff1a;民情直通车&#xff0c;治理新引擎 “12345”政务热线是党委政府了解社情民意、解决群众合理诉求、倾听批评建议、改进工作作风的重要渠道。当前&#xff0c;全国各城市已基本建成12345政务服务热线体系&#xff0c;形成“接诉即办”的高效响应机制。…

【SpringBoot核心】Spring Boot + MyBatis 深度整合与最佳实践

目录 引言Spring Boot 基础回顾MyBatis 核心概念解析Spring Boot 整合 MyBatisMyBatis 高级特性Spring Boot + MyBatis 最佳实践性能优化与扩展实战案例:电商系统开发常见问题与解决方案总结与展望1. 引言 1.1 技术背景与现状 在现代企业级应用开发中,数据持久化是一个核心…

力扣第77题-组合-力扣第78题-子集

力扣链接:77. 组合 - 力扣&#xff08;LeetCode&#xff09; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3…

嵌入式MTD设备与Flash管理解析

理解MTD是嵌入式系统中处理Flash存储的关键一步&#xff01;我来帮你梳理清楚&#xff1a; MTD 是什么&#xff1f; MTD 是 Memory Technology Device 的缩写&#xff0c;中文常译为内存技术设备。它是 Linux 内核及其衍生系统&#xff08;如嵌入式 Linux&#xff09;中用于管…

基于 GEE 利用 Sentinel-2 数据计算并下载植被指数数据

目录 1 植被指数 2 完整代码 3 运行结果 1 植被指数 植被指数全名NDVI归一化差值植被指数GNDVI绿色归一化差值植被指数EVI增强植被指数EVI2双波段增强植被指数DVI差值植被指数GDVI绿色差植被值指数RVI比值植被指数SAVI土壤调整植被指数OSAVI优化土壤调整植被指数MSAVI修改…

python基础23(2025.6.29)分布式爬虫(增量式爬虫去重)redis应用_(未完成!)

本次写一个爬取网易新闻的案例。因为redis能处理高并发&#xff0c;存储数据也可以&#xff0c;故不用mysql。而且新闻网站容易更新很多&#xff0c;而mysql只能持久化存储。 import scrapy import re import json import redis # 用它来去除重复, 记录访问过的urlclass Wang…