Skip to content

n8n-二开

S1. 下载代码

访问github ,下载1.102.3源码

S2. 验证代码是否可构建通过

bash
$ pnpm i
$ pnpm build

S2. 删除不需要的文件目录

vscode中的git一次只能提交1w个文件,删除文件,满足要求

使用脚本删除

S3. 启动一下,解决报错

/Users/jade/.n8n 配置和数据库存放位置

admin@a.cn Admin123 测试账号密码

bash
# 启动后访问 http://localhost:5678/
$ pnpm dev #如果有问题,那么就先执行build构建
$ pnpm start

linc

js
//修改方法
isFeatureEnabled(feature: BooleanLicenseFeature): boolean {
  return true; //this._enabledFeatures.has(feature);
}

ssoStore.isEnterpriseSamlEnabled

S. 构建发布

  1. 要打包项目,如果包名一致,会和主项目重复,1修改项目名称,2修改没有用过的版本号
  2. 一处指向n8n.io的请求
  3. 去除sentry相关代码
  4. 去除 storybook 代码
pnpm run -F n8n-nodes-base build

目录、作用

  • packages/cli 主程序 占用5678端口
  • packages/nodes-base 工作流节点库
  • packages/editor-ui 前端站点
  • packages/design-system 前端vue组件库
  • packages/node-dev

更换包名称

  • @n8n/ => @lite-n8n/
  • /@n8n/ => /@lite-n8n/
  • /^@n8n/ => /^@lite-n8n/
  • n8n-** => lite-n8n-**
n8n/codemirror-lang-sql
n8n/localtunnel
n8n/tournament
n8n/typeorm
n8n/vm2

解决依赖包构建问题

bash
$ pnpm run -F @lite-n8n/design-system build
$ pnpm run -F @lite-n8n/chat build

b

中文翻译

https://github.com/other-blowsnow/n8n-i18n-chinese/blob/main/languages/zh-CN.json

构建,打包

  1. 构建基础包

    bash
    $ docker build -t lite-n8n/base:22 -f docker/images/n8n-base/Dockerfile .
    
    $ pnpm build:n8n #构建结果包
    $ docker build -t lite-n8n/n8n:1.0.0-fix -f docker/images/n8n/Dockerfile --build-arg TARGETPLATFORM=linux/amd64  --build-arg LAUNCHER_VERSION=1.1.3 .
  2. bash
    docker volume create n8n_data
    
    docker run -d --name n8n \
     -p 5678:5678 \
     -e DB_TYPE=postgresdb \
     -e DB_POSTGRESDB_DATABASE=n8n \
     -e DB_POSTGRESDB_HOST=10.177.55.77 \
     -e DB_POSTGRESDB_PORT=5432 \
     -e DB_POSTGRESDB_USER=n8n_admin \
     -e DB_POSTGRESDB_SCHEMA=public \
     -e DB_POSTGRESDB_PASSWORD=n8npassword \
     -e GENERIC_TIMEZONE="Asia/Shanghai" \
     -e TZ="Asia/Shanghai" \
     -e N8N_SECURE_COOKIE=false \
     -e N8N_PROTOCOL=http \
     -e N8N_DEFAULT_LOCALE=zh \
     -v n8n_data:/home/node/.n8n \
    lite-n8n/n8n:1.0.0

删除文件

bash
# 删除以.test.ts 结尾的文件
find ./ -type f -name "*.test.ts" -exec rm -f {} \;

# 删除名称为__test__的文件夹
find ./ -type d -name "__test__" -exec rm -rf {} \;

# 删除名称为__tests__的文件夹
find ./ -type d -name "__tests__" -exec rm -rf {} \;

# 删除以.md结尾的文件
find ./ -type f -name "*.md" -exec rm -f {} \;
find /path/to/dir -type f -empty -exec rm -f {} \;  # 删除空文件
find /path/to/dir -type d -empty -exec rm -rf {} \; # 删除空目录

历史记录

第一次启动配置

bash
$ pnpm i
$ pnpm build 
$ pnpm dev #如果有问题,那么就先去构建
$ pnpm start

注册第一个账号,如果没有,那就把本地库删除了重新建

admin@a.cn Admin123

删除文件

part1

  • 删除.devcontainer、.github 、*.md
  • 去除 packages/nodes-base 里面不适用的node
    • /credentials
    • /nodes
    • /test/nodes
    • package.json