Public Repository

Last pushed: 2 days ago
Short Description
Node.js is a JavaScript-based platform for server-side and networking apps. Maintained by
Full Description

This image is part of the base image series for IoT devices. The image is optimized for use with and resinOS, but can be used in any Docker environment running on the appropriate architecture.

What is is the simplest way to build, deploy, and manage containers on a fleet of connected devices. brings a modern developer workflow to the Internet of Things, enabling rapid innovation at every stage and scale of your project.

Supported tags and respective Dockerfile links

For more information about this image and its history, please see the relevant manifest file (resin/intel-nuc-alpine-node) in the resin-io-library/official-images GitHub repo.

What is Node.js?

Node.js is a software platform for scalable server-side and networking applications. Node.js applications are written in JavaScript and can be run within the Node.js runtime on Mac OS X, Windows, and Linux without changes.

Node.js applications are designed to maximize throughput and efficiency, using non-blocking I/O and asynchronous events. Node.js applications run single-threaded, although Node.js uses multiple threads for file and network events. Node.js is commonly used for real-time applications due to its asynchronous nature.

Node.js internally uses the Google V8 JavaScript engine to execute code; a large percentage of the basic modules are written in JavaScript. Node.js contains a built-in, asynchronous I/O library for file, socket, and HTTP communication. The HTTP and socket support allows Node.js to act as a web server without additional software such as Apache.

How to use this image

OpenRC can be enabled by adding ENV INITSYSTEM on to your Dockerfile below the FROM <Docker image> line. This will trigger OpenRC init system on the Docker image.

Create a Dockerfile in your Node.js app project

FROM resin/intel-nuc-alpine-node:onbuild
# Enable OpenRC
# replace this with your application's default port

You can then build and run the Docker image:

docker build -t my-nodejs-app .
docker run -it --rm --name my-running-app my-nodejs-app


The image assumes that your application has a file named package.json listing its dependencies and defining its start script.

Run a single Node.js script

For many simple, single file projects, you may find it inconvenient to write a complete Dockerfile. In such cases, you can run a Node.js script by using the Node.js Docker image directly:

docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp resin/intel-nuc-alpine-node:latest node your-daemon-or-script.js


View license information for the software contained in this image.

Supported Docker versions

This image is officially supported on Docker version 17.05.0-ce.

Support for older versions (down to 1.0) is provided on a best-effort basis.

User Feedback


If you have any problems with or questions about this image, please contact us through a GitHub issue.


You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.


Documentation for this image is stored in the base images documentation. Check it out for list of all of our base images including many specialised ones for e.g. node, python, go, smaller images, etc.

Docker Pull Command