Node.js Docker

Node.js Docker provides official Docker images for running Node.js applications, scripts, and services in containers.

  • Tools & Utilities
Node.js Docker provides official Docker images for running Node.js applications, scripts, and services in containers. It gives homelab users maintained runtime bases, including LTS and Alpine variants, for deploying self-hosted Node.js workloads.

Platform availability

Available on 0 of 9 platforms

  • Unraid (not listed)
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm (not listed)
  • Mac (not listed)
  • Windows (not listed)
  • Linux (not listed)

Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.

71/100 Good

Maintained
100last commit 12 days ago
Popular
798,595 GitHub stars
Easy to install
250 install platforms, install notes, Docker image
Light to run
404 GB minimum RAM, runs on ARM
GitHub stars
8,595
Open issues
41
Last commit
2026-09-29
License
MIT
Activity
declining

Checked 12 days ago - source: GitHub (nodejs/docker-node)

Resources & Compatibility

Minimum requirements: 4 GB RAM, 6 GB disk. ARM (e.g. Raspberry Pi) is supported.

Checked 12 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Start with port 1880 and a /data volume Run the container with -p 1880:1880 and a Docker volume (a saved folder Docker manages) mapped to /data, for example: docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red. Without the port, you cannot open the Node-RED editor; without the volume, your flows and settings can be lost when the container is removed. source
  • Protect your /data folder and credential key Your flows, settings, and encrypted credentials live in /data, so keep that volume backed up. Also set credentialSecret (your own encryption key in settings.js) to a known value; if you do not, Node-RED may use a system-generated key that can become lost, making saved credentials impossible to recover. source
  • Match /data ownership to user ID 1000 If you mount a host folder for /data, make it owned by the user and group with ID 1000 (often shown as uid=1000 gid=1000), or match the IDs you choose. If the ownership is wrong, Node-RED may start but then fail to save your flows or settings. source

Fetched 12 days ago - each note links to its source

Alternatives

No alternatives collected yet.

Common questions

Which official Node.js Docker image variants should I consider when building node-docker?

The repository documents version-specific node: tags, node:lts, and distro variants such as node:alpine, node:bookworm, node:trixie, and node:slim. It also points to LTS, release availability, supported Node.js versions, and supported Docker versions.

What does the Docker Compose example for a Node.js app set?

It uses the node:24 image, the node user, /home/node/app as the working directory, NODE_ENV=production, a bind mount for the app directory, port 8888, and npm start as the command.

What deployment check should I do before running the container in production?

The Node community points to making a functional Dockerfile and testing it locally first, because that makes deploying the app to another server or cluster easier.

Which reverse proxy does the nilsw.io Node.js self-hosting base setup use?

The setup uses Caddy as the proxy server for Docker-hosted Node.js applications.

Answers sourced from github.com, nilsw.io, www.reddit.com

Community

Collected 7 days ago - public community threads