Skip to content

Latest commit

 

History

141 Commits

Folders and files

Repository files navigation

CI/CD

Description

Minimal Node Docker image. It's use is intended for kool.dev, but can fit in any other Node use-case.

Available Tags

22

24

24-nginx

26

Legacy tags

The following images have been discontinued, but still exist on Hub Docker in case you need them. We strongly advise moving to the newer versions.

Environment Variables

Variable Default Value Description
ASUSER 0 Changes the user id that executes the commands
UID 0 Changes the user id that executes the commands (ignored if ASUSER is provided)

Usage

With docker run:

docker run -it --rm kooldev/node:22 node -v

With environment variables:

docker run -it --rm -e ASUSER=500 kooldev/node:22 node -v

With docker-compose.yml:

app:
  image: kooldev/node:22
  environment:
    ASUSER: "${$UID}"

Contributing

Package manager defaults

pnpm's per-user ~/.config/pnpm/config.yaml sets storeDir to ~/.pnpm-store and packageImportMethod to copy. npm no longer receives pnpm-only or removed scripts-prepend-node-path options in .npmrc. With current pnpm, hoisting policy belongs in the project's pnpm-workspace.yaml; set shamefullyHoist: true there if required.

Run python3 tests/generated.py and sh tests/architecture.sh to check generated contexts and download selection. After building an image, run sh tests/image.sh IMAGE to exercise dockerize, npm, yarn, pnpm, config resolution and ownership as root and two remapped user IDs.

Updating images and building locally

You must have kool installed.

This repo leverages a simple templating tool based on Laravel Blade to generate the actual building contexts for each image flavour.

You should change fwd-template.json and template folder.

After your changes, just run kool run template to compile the template and generate all version folder/files.

License

The MIT License (MIT). Please see License File for more information.

Used by

Contributors

Languages