Configurable base image for Rush.js-oriented projects with separate development and production targets, multi-arch publishing, and multi-version Node support.
- 16 (legacy, best-effort)
- 18 (legacy, best-effort)
- 20 (supported)
- 22 (supported, default/LTS line)
dev: includes common development toolingprod: runtime-oriented minimal base
alpine(default)bookworm-slim(Node 20/22 variants)
linux/amd64linux/arm64
node<version>-<target>- default distro variant (
alpine)
- default distro variant (
node<version>-<target>-<distro>- explicit distro variant
legacy-node16-<target>andlegacy-node18-<target>lts-<target>- tracks
node22-<target>-alpine
- tracks
latest- tracks
node22-prod-alpine
- tracks
sha-<shortsha>-node<version>-<target>-<distro>- on version tags (
v*), semver flavor tags are published per variant
Core:
NODE_VERSIONdefault:22DISTROdefault:alpineAPP_USERdefault:nodeAPP_UIDdefault:1000APP_GIDdefault:1000
Base package toggles:
INSTALL_CA_CERTSdefault:trueINSTALL_TZDATAdefault:trueINSTALL_BASHdefault:falseINSTALL_GITdefault:falseINSTALL_CURLdefault:falseINSTALL_JQdefault:false
Dev target toggles:
INSTALL_RUSHdefault:trueINSTALL_PM2default:trueINSTALL_NESTdefault:trueINSTALL_PNPMdefault:trueINSTALL_YARNdefault:false
Tool version pins:
RUSH_VERSIONdefault:5.151.0PM2_VERSIONdefault:6.0.8NEST_VERSIONdefault:11.0.5PNPM_VERSIONdefault:9.15.4YARN_VERSIONdefault:1.22.22
Build a Node 22 dev image:
docker build \
--target dev \
--build-arg NODE_VERSION=22 \
--build-arg DISTRO=alpine \
-t rushjs-base:node22-dev \
.Build a Node 20 prod image with slim distro:
docker build \
--target prod \
--build-arg NODE_VERSION=20 \
--build-arg DISTRO=bookworm-slim \
-t rushjs-base:node20-prod-slim \
.Build via Bake (all versions/targets):
docker buildx bake allBuild only dev variants:
docker buildx bake dev-allGitHub Actions builds and publishes matrix variants to:
- Docker Hub:
dills122/rushjs-base-img - GHCR:
ghcr.io/dills122/rushjs-base-img
Triggers:
- push to
master/main - pull requests into
master/main(build only, no push) - weekly scheduled rebuild
- manual dispatch