Sign inSign up

paularlott/knot-node

By paularlott

•Updated about 13 hours ago

Node.js Knot image with Node, npm and corepack for running JS apps inside Knot spaces.

Image
Developer tools
0

2.8K

paularlott/knot-node repository overview

⁠knot-node

A Node.js⁠ development image for knot⁠ spaces, combining knot-ubuntu with the official Node.js runtime, npm, and corepack⁠ (for pnpm / yarn). It is a pure runtime image — no web server — so you run your own process or app (e.g. node server.js, next dev).

It inherits the full knot entrypoint, runtime user, rsyslog logging and startup-hook framework from knot-ubuntu.

⁠Tags

All tags are multi-arch (linux/amd64, linux/arm64); see Docker Hub⁠ for the current list.

Node.js is installed from the NodeSource⁠ deb repository; the <version> tag is the Node major (e.g. 24), tracking the latest patch of that line. Each release is also tagged <version>-<BUILD_DATE>.

⁠Usage

docker run -d \
  -e KNOT_SERVER=https://knot.example.com \
  -e KNOT_USER=alice \
  -v knot_home:/home \
  paularlott/knot-node:24

Then, in the space:

npm init -y
npm install express
node -e 'require("express"); console.log("express loaded")'

Or with pnpm (via corepack):

corepack prepare pnpm@latest --activate
pnpm init

⁠How it works

Builds on knot-ubuntu:26.04. The latest Node.js <major>.x release is installed from the NodeSource deb repository, and corepack⁠ is enabled so pnpm and yarn are available on demand. 24 is the current LTS; 26 is the current release line.

⁠Environment variables

Built on knot-ubuntu, so it supports the common knot variables:

VariableDefaultDescription
KNOT_USERknotRuntime user (uid 1000); created if missing
KNOT_SERVER(unset)knot server URL; if set, the agent is downloaded and started
KNOT_AGENT_ENDPOINT(unset)Agent endpoint reported to the server
KNOT_SPACEID(unset)Space identifier
KNOT_SERVICE_PASSWORD(auto-generated UUID)Shared service password
KNOT_SSHD(unset)Set to native to start sshd
KNOT_SSH_PORT2222Port for the SSH daemon
KNOT_SYSLOG_PORT1514Syslog forward target (0 disables forwarding)
TZEtc/UTCTimezone

Node-specific:

VariableDefaultDescription
NODE_MAJOR(build-time)The Node.js major version (e.g. 24)

⁠Volumes

  • /home — persistent home directory; node_modules and projects live here.

⁠License

Node.js is MIT⁠. This image's packaging — the Dockerfile and supporting scripts/configs — is Apache License 2.0⁠.

Source: paularlott/knot-base-images⁠.

Tag summary

Content type

Image

Digest

sha256:428593d4b…

Size

256.8 MB

Last updated

about 13 hours ago

docker pull paularlott/knot-node:26-20260929