n8n-二开
S1. 下载代码
访问github ,下载1.102.3源码
S2. 验证代码是否可构建通过
bash
$ pnpm i
$ pnpm buildS2. 删除不需要的文件目录
vscode中的git一次只能提交1w个文件,删除文件,满足要求
使用脚本删除
S3. 启动一下,解决报错
/Users/jade/.n8n配置和数据库存放位置admin@a.cn Admin123 测试账号密码
bash
# 启动后访问 http://localhost:5678/
$ pnpm dev #如果有问题,那么就先执行build构建
$ pnpm startlinc
js
//修改方法
isFeatureEnabled(feature: BooleanLicenseFeature): boolean {
return true; //this._enabledFeatures.has(feature);
}
ssoStore.isEnterpriseSamlEnabledS. 构建发布
- 要打包项目,如果包名一致,会和主项目重复,1修改项目名称,2修改没有用过的版本号
- 一处指向n8n.io的请求
- 去除sentry相关代码
- 去除 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 buildb
中文翻译
https://github.com/other-blowsnow/n8n-i18n-chinese/blob/main/languages/zh-CN.json构建,打包
构建基础包
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 .- 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