找回密码
 创建社区账号
搜索
热搜: MCP 知识库 案例
查看: 76|回复: 1

第一部分:欢迎来到 n8n → 入门指南:安装与设置:自托管 → Docker 安装

[复制链接]

74

主题

0

回帖

40万

积分

超级版主

积分
400222
发表于 2025-5-13 17:50:55 | 显示全部楼层 |阅读模式
Docker 是一个流行的容器化平台,它可以帮助您轻松地部署和运行 n8n。使用 Docker 可以将 n8n 及其依赖项打包到一个独立的容器中,从而简化了安装和管理过程,并提供了良好的隔离性。
前提条件 (Prerequisites):

    您的服务器或计算机上需要安装 Docker Engine。您可以访问 Docker 官方网站 找到适合您操作系统的安装指南。建议同时安装 Docker Compose,这是一个用于定义和管理多容器 Docker 应用程序的工具。您可以访问 Docker Compose 官方网站 获取安装说明。
安装步骤 (Installation Steps):
  • 创建 docker-compose.yml 文件:在您的服务器上选择一个合适的目录,并在该目录下创建一个名为 docker-compose.yml 的文件。将以下内容粘贴到该文件中:
    YAML

    version: '3.8'services:  n8n:    image: n8nio/n8n    restart: always    ports:      - "5678:5678"    volumes:      - ~/.n8n:/home/node/.n8n    environment:      - NODE_ENV=production      - N8N_HOST=${N8N_HOST}      - N8N_PORT=${N8N_PORT}      - N8N_PROTOCOL=${N8N_PROTOCOL}      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}      - DB_TYPE=${DATABASE_TYPE}      - DB_POSTGRESQL_HOST=${DB_POSTGRESQL_HOST}      - DB_POSTGRESQL_PORT=${DB_POSTGRESQL_PORT}      - DB_POSTGRESQL_DATABASE=${DB_POSTGRESQL_DATABASE}      - DB_POSTGRESQL_USER=${DB_POSTGRESQL_USER}      - DB_POSTGRESQL_PASSWORD=${DB_POSTGRESQL_PASSWORD}      - DB_MYSQL_HOST=${DB_MYSQL_HOST}      - DB_MYSQL_PORT=${DB_MYSQL_PORT}      - DB_MYSQL_DATABASE=${DB_MYSQL_DATABASE}      - DB_MYSQL_USER=${DB_MYSQL_USER}      - DB_MYSQL_PASSWORD=${DB_MYSQL_PASSWORD}


  • 配置环境变量:在与 docker-compose.yml 文件相同的目录下,创建一个名为 .env 的文件,并在其中设置您的 n8n 配置和数据库连接信息。例如(根据您选择的数据库类型进行配置):
    PostgreSQL 示例 (.env):
    N8N_HOST=your_n8n_domain.comN8N_PORT=5678N8N_PROTOCOL=http # 如果您在反向代理上处理 SSL,则为 http,否则为 httpsN8N_ENCRYPTION_KEY=YOUR_SECURE_ENCRYPTION_KEYDATABASE_TYPE=postgresDB_POSTGRESQL_HOST=your_postgres_hostDB_POSTGRESQL_PORT=5432DB_POSTGRESQL_DATABASE=n8nDB_POSTGRESQL_USER=n8n_userDB_POSTGRESQL_PASSWORD=your_postgres_password


    MySQL 示例 (.env):
    N8N_HOST=your_n8n_domain.comN8N_PORT=5678N8N_PROTOCOL=http # 如果您在反向代理上处理 SSL,则为 http,否则为 httpsN8N_ENCRYPTION_KEY=YOUR_SECURE_ENCRYPTION_KEYDATABASE_TYPE=mysqlDB_MYSQL_HOST=your_mysql_hostDB_MYSQL_PORT=3306DB_MYSQL_DATABASE=n8nDB_MYSQL_USER=n8n_userDB_MYSQL_PASSWORD=your_mysql_password


    请务必将 YOUR_SECURE_ENCRYPTION_KEY 替换为您自己生成的安全密钥。
  • 启动 n8n 容器:打开您的终端或命令提示符,导航到包含 docker-compose.yml 和 .env 文件的目录,并运行以下命令:
    Bash

    docker-compose up -d


    这将在后台启动 n8n 容器。
  • 访问 n8n:在您的 Web 浏览器中,访问您在 .env 文件中配置的 N8N_HOST 和 N8N_PORT(例如:http://your_n8n_domain.com:5678 或 http://your_server_ip:5678)。

数据持久化:
volumes: - ~/.n8n:/home/node/.n8n 这一行配置会将 n8n 容器内的数据目录 (/home/node/.n8n) 挂载到您宿主机上的 ~/.n8n 目录。这意味着您的工作流、凭证和执行历史等数据将被保存在宿主机上,即使容器被删除或重新创建,数据也不会丢失。您可以根据需要修改宿主机上的路径。
注意:
  • 如果您计划在生产环境中使用 n8n,强烈建议您配置 SSL 证书以启用 HTTPS。这通常需要在您的反向代理服务器(如 Nginx 或 Apache)上进行配置。
  • 确保您的服务器防火墙允许访问您在 docker-compose.yml 中映射的端口(默认为 5678)。

0

主题

5

回帖

40

积分

摸鱼触发器

积分
40
发表于 6 天前 | 显示全部楼层
点赞点赞,支持支持
您需要登录后才可以回帖 登录 | 创建社区账号

本版积分规则

QQ|手机版|小黑屋|n8n 中文社区

GMT+8, 2025-5-23 05:00 , Processed in 0.077832 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表