🤖: sync package with devel:BCI:Tumbleweed from OBS OBS-URL: https://build.opensuse.org/request/show/1333324 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/nodejs-22-image?expand=0&rev=30
Node.js 22 development container image
Description
Node.js is a free, open source, cross-platform JavaScript run-time environment that lets developers write server-side applications and tools outside of a browser.
Usage
To deploy an application, install dependencies, copy the sources, and configure the application's main script:
FROM registry.opensuse.org/opensuse/bci/nodejs:22
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node", "./server.js" ]
Build and run the container image:
$ podman build -t my-node-app .
$ podman run -it -p 3000:3000 --rm my-node-app
The example above assumes that there is a package-lock.lock file in the application directory.
To generate a package-lock.lock file, use the following command:
$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/nodejs:22 npm install --package-lock-only
To run a single script inside a container, use the following command:
$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/nodejs:22 node script.js
Licensing
SPDX-License-Identifier: MIT
This documentation and the build recipe are licensed as MIT. The container itself contains various software components under various open source licenses listed in the associated Software Bill of Materials (SBOM).
This image is based on openSUSE Tumbleweed.