×

使用Docker安装n8n

hqy hqy 发表于2026-01-08 23:14:07 浏览19 评论0

抢沙发发表评论

1、安装Docker









# 安装Dockerhttps://docs.docker.com/get-docker/
# 安装Docker Composehttps://docs.docker.com/compose/install/
# CentOS安装Dockerhttps://mp.weixin.qq.com/s/nHNPbCmdQs3E5x1QBP-ueA
2、安装n8n



详见:https://docs.n8n.io/hosting/installation/docker/https://github.com/n8n-io/n8n-hosting
建目录:


mkdir n8ncd n8n
2.1、方式1

详见:https://github.com/n8n-io/n8n-hosting/tree/main/docker-compose/withPostgres

创建.env文件:


详见:https://github.com/n8n-io/n8n-hosting/blob/main/docker-compose/withPostgres/.env






POSTGRES_USER=changeUserPOSTGRES_PASSWORD=changePasswordPOSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=changeUserPOSTGRES_NON_ROOT_PASSWORD=changePassword

修改.env文件:







POSTGRES_USER=rootPOSTGRES_PASSWORD=rootPOSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=testPOSTGRES_NON_ROOT_PASSWORD=test

创建init-data.sh文件:


详见:https://github.com/n8n-io/n8n-hosting/blob/main/docker-compose/withPostgres/init-data.sh













#!/bin/bashset -e;

if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}'; GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER}; GRANT CREATE ON SCHEMA public TO ${POSTGRES_NON_ROOT_USER}; EOSQLelseecho "SETUP INFO: No Environment variables given!"fi

创建docker-compose.yml文件:


详见:https://github.com/n8n-io/n8n-hosting/blob/main/docker-compose/withPostgres/docker-compose.yml












































version: '3.8'
volumes:  db_storage:  n8n_storage:
services:  postgres:    image: postgres:16    restart: always    environment:      - POSTGRES_USER      - POSTGRES_PASSWORD      - POSTGRES_DB      - POSTGRES_NON_ROOT_USER      - POSTGRES_NON_ROOT_PASSWORD    volumes:      - db_storage:/var/lib/postgresql/data      - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh    healthcheck:      test: ['CMD-SHELL''pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']      interval: 5s      timeout: 5s      retries: 10
  n8n:    image: docker.n8n.io/n8nio/n8n    restart: always    environment:      - DB_TYPE=postgresdb      - DB_POSTGRESDB_HOST=postgres      - DB_POSTGRESDB_PORT=5432      - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}      - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}      - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}    ports:      - 5678:5678    links:      - postgres    volumes:      - n8n_storage:/home/node/.n8n    depends_on:      postgres:        condition: service_healthy

修改docker-compose.yml文件:






sed -i 's/version/#version/g' docker-compose.yml
#sed -i -z 's/volumes:\n  db_storage:\n  n8n_storage:/#volumes:\n#  db_storage:\n#  n8n_storage:/g' docker-compose.yml
sed -i 's/image: docker.n8n.io\/n8nio\/n8n/image: n8nio\/n8n/g' docker-compose.yml






首次访问,会出现以下提示信息,可以根据给出的提示进行修复
暂时采用方案3,添加环境变量N8N_SECURE_COOKIE=false
# 命令:sed -i -z 's/environment:\n      - DB_TYPE=postgresdb/environment:\n      - N8N_SECURE_COOKIE=false\n      - DB_TYPE=postgresdb/g' docker-compose.yml
图片
创建并启动容器:

docker-compose up -d
查看容器列表:

docker ps
查看数据卷列表:

docker volume ls
查看数据卷详细信息:








# 当前数据卷有:n8n_db_storage、n8n_n8n_storage# docker volume inspect n8n_db_storage n8n_n8n_storage
docker volume inspect n8n_db_storage# 挂载点:/var/lib/docker/volumes/n8n_db_storage/_data
docker volume inspect n8n_n8n_storage# 挂载点:/var/lib/docker/volumes/n8n_n8n_storage/_data
停止并销毁容器:

docker-compose down
删除镜像:

docker rmi postgres:16 n8nio/n8n
删除数据卷:

docker volume rm n8n_db_storage n8n_n8n_storage
2.2、方式2
拉取镜像:

docker pull n8nio/n8n
创建数据卷:

docker volume create n8n_data
运行容器:






docker run -it -d \ --name n8n \ -e N8N_SECURE_COOKIE=false \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ n8nio/n8n
查看容器列表:

docker ps
查看数据卷列表:

docker volume ls
查看数据卷详细信息:




# 当前数据卷有:n8n_data
docker volume inspect n8n_data# 挂载点:/var/lib/docker/volumes/n8n_data/_data
停止容器:

docker stop n8n
删除容器:

docker rm n8n
删除镜像:

docker rmi n8nio/n8n
删除数据卷:

docker volume rm n8n_data
3、浏览器访问


假设当前ip为192.168.186.128浏览器访问:http://192.168.186.128:5678
安装:
图片
首页:
图片
图片
图片
4、详见



https://n8n.io/https://github.com/n8n-io/n8nhttps://github.com/n8n-io/n8n-hosting


打赏

本文链接:https://www.kinber.cn/post/6142.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客