Use image revision tags such as wodby/node:26-rN to select a Wodby image revision.
Major and minor tags use the repository release number, starting at r0. Full-version tags such as
wodby/node:26.9.0-r0 start at r0 for each exact upstream version.
Every published versioned revision tag has a matching annotated Git tag pointing to its release commit.
Existing tags remain available after support for their major or minor version ends.
See release tags for available revisions and the image revision policy for upgrade guidance.
Previously published image tags remain available.
Overview:
- All images based on Alpine Linux
- Base image: node
- GitHub actions builds
- Docker Hub
Supported tags and respective Dockerfile links:
26.10,26,latest(Dockerfile)24.21,24, (Dockerfile)22.23,22(Dockerfile)26.10-dev,26-dev,dev(Dockerfile)24.21-dev,24-dev, (Dockerfile)22.23-dev,22-dev(Dockerfile)
Images with -dev tag have dev packages and sudo allowed for all commands for wodby user.
All images built for linux/amd64 and linux/arm64
| Variable | Default Value | Description |
|---|---|---|
NODE_PORT |
3000 |
Used for health checks |
Usage:
make COMMAND [params ...]
commands:
check-ready [host max_try wait_seconds delay_seconds]
default params values:
host localhost
max_try 1
wait_seconds 1
delay_seconds 0
Build with the Makefile to use the base image digests in base-images.mk. Local
builds and CI resolve the same version and variant to the same multi-platform
image. A version without a pin fails before the build starts.
When adding a supported base version or variant, add its image index digest to
base-images.mk. For a custom build, override BASE_IMAGE with a complete
repository:tag@sha256:... reference.
Development variants declare com.wodby.workspace.contract=1; ordinary variants
leave it empty. The contract covers SSH/tool availability, workspace startup and
preparation, and login-shell tool discovery. CI checks the label and runtime tools.
workspace-node enables Chokidar and Watchpack polling at 1000 ms for shared
volumes. Set WORKSPACE_POLL_INTERVAL (100–60000 ms) to tune the cost, or
WORKSPACE_POLLING=0 to disable these defaults. Explicit watcher variables
are preserved. This does not enable watching in scripts that have no watcher.
Keep dependencies/build output excluded in project watcher configuration.
workspace-node next-start starts the installed Next.js CLI with Webpack polling
(adding --webpack on Next 16+), using HOST and PORT. It does not run custom
package lifecycle scripts; use WORKSPACE_NODE_COMMAND for a custom command with
its own shared-volume watcher configuration. Angular requires ng serve --poll 1000.
Vite's Chokidar watcher uses the polling environment; other watcher engines need
explicit project configuration such as server.watch.usePolling: true.
Preparation without an npm lockfile uses --package-lock=false. Dependency lifecycle
scripts remain project-owned and may change files; review their changes before committing.
Use workspace-node vite-start for React/Vue Vite projects: it loads the existing
Vite config and enables both Chokidar and Rolldown polling in memory. Use
workspace-node angular-start for Angular's CLI polling. These helpers call the
framework directly, so custom package lifecycle scripts require a custom command.