在服务器上使用Docker Compose部署n8n
2025-5-18
| 2025-5-18
字数 1167阅读时长 3 分钟
type
status
date
slug
summary
tags
category
icon
password
😀
本过程基于Ubuntu Linux版本
如果已经安装了Docker和Docker-Compose,那么可以从步骤3开始。
可以在n8n-hosting存储库中找到适用于各种架构的Docker Compose配置。
自托管知识前提条件 自托管 n8n 需要技术知识,包括:
  • 设置和配置服务器和容器
  • 管理应用程序资源和扩展
  • 保护服务器和应用程序
  • 配置 n8n

1.安装Docker和Docker Compose#

Docker和Docker Compose 的安装方式可能因您使用的Linux发行版而异。您可以在DockerDocker Compose安装文档中找到详细说明。以下示例适用于Ubuntu:
通过键入以下内容验证Docker和Docker Compose是否可用:

2.可选:非root用户访问#

您可以选择授予访问权限以在没有命令的情况下运行Docker sudo
要授予您当前登录的用户访问权限(假设他们有sudo访问权限),请运行:
要授予其他用户访问权限,请键入以下内容,并替换<USER_TO_RUN_DOCKER>为适当的用户名:
您需要exec sg docker newgrp从该用户的任何现有会话运行才能访问新的组权限。
您可以通过输入以下内容来验证当前会话是否识别该docker组:

3. DNS设置

要在线或在网络上托管 n8n,请创建指向您的服务器的专用子域。
添加A记录以相应地路由子域:
  • 类型:A
  • 名称:(n8n或其他子域名)
  • IP地址:(实际的服务器IP地址)

4.创建.env文件#

创建一个项目目录来存储您的n8n环境配置和Docker Compose文件并在其中导航:
在目录中n8n-compose,创建一个.env文件来自定义n8n实例的详细信息。请根据自己的信息进行更改:

5.创建本地文件目录#

在您的项目目录中,创建一个名为的目录,local-files用于在n8n实例和主机系统之间共享文件(例如,使用从磁盘节点读取/写入文件):
下面的Docker Compose文件可以自动创建此目录,但手动执行可确保以正确的所有权和权限创建它。

6.创建Docker Compose文件#

创建一个docker-compose.yml文件。将以下内容粘贴到文件中:
上述Docker Compose文件配置了两个容器:一个用于n8n,一个用于运行traefik(一个用于管理 TLS/SSL证书和处理路由的应用程序代理)。
它还创建并挂载了两个Docker数据卷,并挂载了local-files您之前创建的目录:
姓名
类型
集装箱安装
描述
n8n_data
数据卷
/home/node/.n8n
n8n保存其SQLite数据库文件和加密密钥的位置。
traefik_data
数据卷
/letsencrypt
traefik保存TLS/SSL证书数据的位置。
./local-files
文件目录
/files
n8n实例与主机共享的本地目录。在n8n中,使用/files路径来读取和写入此目录。

7.启动Docker Compose

您现在可以通过输入以下命令来启动 n8n:
要停止容器,请输入:

8.完成

现在,可以使用文件配置中定义的子域名+域名组合访问n8n .env。上述示例将生成https://n8n.example.com
n8n只能通过安全的 HTTPS 访问,而不能通过普通的HTTP访问。
 
💡
有关n8n的安装或者使用上的问题,欢迎在底部评论区留言,一起交流~
 
  • 运维
  • Docker
  • 如何将已经开发好的fastapi应用部署到生产环境数据库迁移工具——Alembic
    Loading...