diff --git a/docker/images/n8n-custom/Dockerfile b/docker/images/n8n-custom/Dockerfile new file mode 100644 index 0000000000..f4e4af4ed7 --- /dev/null +++ b/docker/images/n8n-custom/Dockerfile @@ -0,0 +1,44 @@ +# 1. Create an image to build n8n +FROM node:12.16-alpine as builder + +# Update everything and install needed dependencies +USER root + +# Install all needed dependencies +RUN apk --update add --virtual build-dependencies python build-base ca-certificates && \ + npm_config_user=root npm install -g lerna + +WORKDIR /data + +COPY lerna.json . +COPY package.json . +COPY packages/cli/ ./packages/cli/ +COPY packages/core/ ./packages/core/ +COPY packages/editor-ui/ ./packages/editor-ui/ +COPY packages/nodes-base/ ./packages/nodes-base/ +COPY packages/workflow/ ./packages/workflow/ +RUN rm -rf node_modules packages/*/node_modules packages/*/dist + +RUN npm install --production --loglevel notice +RUN lerna bootstrap --hoist -- --production +RUN npm run build + + +# 2. Start with a new clean image with just the code that is needed to run n8n +FROM node:12.16-alpine + +USER root + +RUN apk add --update graphicsmagick tzdata tini su-exec + +WORKDIR /data + +# Install all needed dependencies +RUN npm_config_user=root npm install -g full-icu + +ENV NODE_ICU_DATA /usr/local/lib/node_modules/full-icu + +COPY --from=builder /data ./ + +COPY docker/images/n8n-custom/docker-entrypoint.sh /docker-entrypoint.sh +ENTRYPOINT ["tini", "--", "/docker-entrypoint.sh"] diff --git a/docker/images/n8n-custom/README.md b/docker/images/n8n-custom/README.md new file mode 100644 index 0000000000..fcd06d18a3 --- /dev/null +++ b/docker/images/n8n-custom/README.md @@ -0,0 +1,12 @@ +# n8n - Custom Image + +Dockerfile which allows to package up the local n8n code into +a docker image. + + +## Usage + +Execute the following in the n8n root folder: +```bash +docker build -t n8n-custom -f docker/images/n8n-custom/Dockerfile . +``` diff --git a/docker/images/n8n-custom/docker-entrypoint.sh b/docker/images/n8n-custom/docker-entrypoint.sh new file mode 100755 index 0000000000..2c9c35eb48 --- /dev/null +++ b/docker/images/n8n-custom/docker-entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +if [ -d /root/.n8n ] ; then + chmod o+rx /root + chown -R node /root/.n8n + ln -s /root/.n8n /home/node/ +fi + +if [ "$#" -gt 0 ]; then + # Got started with arguments + shift + exec su-exec node ./packages/cli/bin/n8n "$@" +else + # Got started without arguments + exec su-exec node ./packages/cli/bin/n8n +fi diff --git a/packages/cli/BREAKING-CHANGES.md b/packages/cli/BREAKING-CHANGES.md index eac94b4a9f..e560133480 100644 --- a/packages/cli/BREAKING-CHANGES.md +++ b/packages/cli/BREAKING-CHANGES.md @@ -41,6 +41,7 @@ The names of the following nodes were not set correctly and got fixed: - Coda - Eventbrite-Trigger - Flow + - Flow-Trigger - Gumroad-Trigger - Jira - Mailchimp-Trigger @@ -73,6 +74,7 @@ After upgrading, select the whole workflow in the editor, copy it, and paste it - "n8n-nodes-base.Coda" -> "n8n-nodes-base.coda" - "n8n-nodes-base.eventbrite" -> "n8n-nodes-base.eventbriteTrigger" - "n8n-nodes-base.Flow" -> "n8n-nodes-base.flow" + - "n8n-nodes-base.flow" -> "n8n-nodes-base.flowTrigger" - "n8n-nodes-base.gumroad" -> "n8n-nodes-base.gumroadTrigger" - "n8n-nodes-base.Jira Software Cloud" -> "n8n-nodes-base.jira" - "n8n-nodes-base.Mailchimp" -> "n8n-nodes-base.mailchimpTrigger" diff --git a/packages/cli/package.json b/packages/cli/package.json index 2bb11d2b0c..5ab8153064 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "n8n", - "version": "0.67.2", + "version": "0.67.3", "description": "n8n Workflow Automation Tool", "license": "SEE LICENSE IN LICENSE.md", "homepage": "https://n8n.io", @@ -101,7 +101,7 @@ "mysql2": "^2.0.1", "n8n-core": "~0.34.0", "n8n-editor-ui": "~0.45.0", - "n8n-nodes-base": "~0.62.0", + "n8n-nodes-base": "~0.62.1", "n8n-workflow": "~0.31.0", "open": "^7.0.0", "pg": "^7.11.0", diff --git a/packages/nodes-base/nodes/Flow/FlowTrigger.node.ts b/packages/nodes-base/nodes/Flow/FlowTrigger.node.ts index e732c81de5..21cdb6eb88 100644 --- a/packages/nodes-base/nodes/Flow/FlowTrigger.node.ts +++ b/packages/nodes-base/nodes/Flow/FlowTrigger.node.ts @@ -17,7 +17,7 @@ import { export class FlowTrigger implements INodeType { description: INodeTypeDescription = { displayName: 'Flow Trigger', - name: 'flow', + name: 'flowTrigger', icon: 'file:flow.png', group: ['trigger'], version: 1, diff --git a/packages/nodes-base/package.json b/packages/nodes-base/package.json index a794edc602..6ffe5a1e28 100644 --- a/packages/nodes-base/package.json +++ b/packages/nodes-base/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-base", - "version": "0.62.0", + "version": "0.62.1", "description": "Base nodes of n8n", "license": "SEE LICENSE IN LICENSE.md", "homepage": "https://n8n.io",