-
Notifications
You must be signed in to change notification settings - Fork 1
Update Dockerfile.n8n to use n8n version 1.109.2 and install additional packages #102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…al packages - Upgraded base image from n8nio/n8n:1.89.2 to n8nio/n8n:1.109.2. - Added installation of showdown and slackify-markdown packages with specified versions. - Combined package installations into a single layer for efficiency. - Configured external modules allowlist for Code/Function nodes. These changes enhance the n8n environment by ensuring compatibility with newer package versions and improving the installation process.
|
Warning Rate limit exceeded@anatolyshipitz has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 17 minutes and 41 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughUpdates the n8n Dockerfile: bumps base image to n8nio/n8n:1.109.2, switches npm installs to global with --legacy-peer-deps/--no-workspaces/--unsafe-perm, removes chown/local-prefix install, adds WORKDIR /home/node, USER node, and a HEALTHCHECK probing /healthz. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Builder as Docker Build
participant Image as n8n Image
participant Container as Runtime Container
participant N8N as n8n Process
participant HC as Docker Healthcheck
Builder->>Image: FROM n8nio/n8n:1.109.2
Builder->>Image: apk add git (updated pin)
Builder->>Image: npm i -g showdown slackify-markdown --legacy-peer-deps --no-workspaces --unsafe-perm
Builder->>Image: WORKDIR /home/node
Builder->>Image: USER node
Builder->>Image: HEALTHCHECK CMD wget .../healthz
Image->>Container: docker run
Container->>N8N: start n8n (runs as node user)
loop periodic
HC->>Container: GET /healthz
Container-->>HC: 200 OK / error
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
- Changed the git installation in the Dockerfile to a specific version (2.43.0-r0) to ensure compatibility with the backup script. - This update enhances the stability of the n8n environment by preventing potential issues with newer git versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
Dockerfile.n8n (1)
26-28: Healthcheck will 404 by default and may not expand ${N8N_PORT} at runtime — set enabling env and a default.
- /healthz is disabled unless QUEUE_HEALTH_CHECK_ACTIVE=true (metrics optional).
- N8N_PORT is only an ARG; if not provided as an ENV at runtime, the command expands to an empty port. Provide a runtime default and enable the endpoint.
Apply:
ARG N8N_PORT=5678 +ENV N8N_PORT=${N8N_PORT} +ENV QUEUE_HEALTH_CHECK_ACTIVE=true HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=30s \ - CMD ["/bin/sh", "-c", "wget -q --spider http://0.0.0.0:${N8N_PORT}/healthz || exit 1"] + CMD ["/bin/sh", "-c", "wget -q --spider http://127.0.0.1:${N8N_PORT:-5678}/healthz || exit 1"]Docs: health endpoints and enabling flags. (docs.n8n.io)
🧹 Nitpick comments (1)
Dockerfile.n8n (1)
33-35: Minor: simplify EXPOSE and remove self-referential comment.EXPOSE is metadata; using a literal helps avoid build-time vs runtime confusion. The trailing comment adds little.
-EXPOSE ${N8N_PORT} -# The entrypoint script is already defined in the base image -# Don't override the CMD +EXPOSE 5678
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
Dockerfile.n8n(3 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
Dockerfile.{n8n,temporal}
📄 CodeRabbit inference engine (.cursor/rules/docker-configuration.mdc)
Custom Docker images must be defined using Dockerfile.n8n and Dockerfile.temporal, each extending their respective official base images with custom configurations
Files:
Dockerfile.n8n
Dockerfile.n8n
📄 CodeRabbit inference engine (.cursor/rules/project-structure.mdc)
Use Dockerfile.n8n for custom n8n image configuration.
Files:
Dockerfile.n8n
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
PR: speedandfunction/automatization#0
File: .cursor/rules/project-structure.mdc:0-0
Timestamp: 2025-07-28T16:44:50.073Z
Learning: Applies to Dockerfile.n8n : Use Dockerfile.n8n for custom n8n image configuration.
Learnt from: anatolyshipitz
PR: speedandfunction/automatization#93
File: Dockerfile.n8n:7-9
Timestamp: 2025-08-10T17:34:18.486Z
Learning: The n8nio/n8n Docker images (including version 1.89.2) are Alpine Linux-based, not Debian-based. Therefore, the correct package manager to use is `apk`, not `apt-get`. Commands like `apk add --no-cache git` are appropriate for installing packages in n8nio/n8n Docker images.
Learnt from: CR
PR: speedandfunction/automatization#0
File: .cursor/rules/docker-configuration.mdc:0-0
Timestamp: 2025-07-28T16:44:24.081Z
Learning: Applies to Dockerfile.{n8n,temporal} : Custom Docker images must be defined using Dockerfile.n8n and Dockerfile.temporal, each extending their respective official base images with custom configurations
📚 Learning: 2025-07-28T16:44:50.073Z
Learnt from: CR
PR: speedandfunction/automatization#0
File: .cursor/rules/project-structure.mdc:0-0
Timestamp: 2025-07-28T16:44:50.073Z
Learning: Applies to Dockerfile.n8n : Use Dockerfile.n8n for custom n8n image configuration.
Applied to files:
Dockerfile.n8n
📚 Learning: 2025-08-10T17:34:18.486Z
Learnt from: anatolyshipitz
PR: speedandfunction/automatization#93
File: Dockerfile.n8n:7-9
Timestamp: 2025-08-10T17:34:18.486Z
Learning: The n8nio/n8n Docker images (including version 1.89.2) are Alpine Linux-based, not Debian-based. Therefore, the correct package manager to use is `apk`, not `apt-get`. Commands like `apk add --no-cache git` are appropriate for installing packages in n8nio/n8n Docker images.
Applied to files:
Dockerfile.n8n
📚 Learning: 2025-07-28T16:44:24.081Z
Learnt from: CR
PR: speedandfunction/automatization#0
File: .cursor/rules/docker-configuration.mdc:0-0
Timestamp: 2025-07-28T16:44:24.081Z
Learning: Applies to Dockerfile.{n8n,temporal} : Custom Docker images must be defined using Dockerfile.n8n and Dockerfile.temporal, each extending their respective official base images with custom configurations
Applied to files:
Dockerfile.n8n
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Service Availability Check
🔇 Additional comments (3)
Dockerfile.n8n (3)
1-1: Base image bump looks good — please verify runtime OS and tag availability.Upgrading to 1.109.2 is sensible. Just confirm the image tag exists in your registry mirror and that the base is still Alpine (apk-compatible) for this tag; n8n has occasionally adjusted image internals across releases.
20-22: Allowlist variable name is correct.NODE_FUNCTION_ALLOW_EXTERNAL is the right env to enable external packages in Code/Function nodes. No change needed.
Reference: n8n configuration example. (docs.n8n.io)
23-25: WORKDIR is appropriate.Setting /home/node aligns with n8n defaults and volume mounts. No change needed.
🔍 Vulnerabilities of
|
| digest | sha256:eecf705e6423fbe033d303a96067c68fe43ddeb6c36cf7e3bf903328f6a73054 |
| vulnerabilities | |
| platform | linux/amd64 |
| size | 335 MB |
| packages | 1843 |
📦 Base Image node:22-alpine
Description |
|
killev
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good



These changes enhance the n8n environment by ensuring compatibility with newer package versions and improving the installation process.
Summary by CodeRabbit