{"id":15059128,"url":"https://github.com/sclorg/s2i-nodejs-container","last_synced_at":"2025-05-15T18:05:44.949Z","repository":{"id":26856735,"uuid":"30316706","full_name":"sclorg/s2i-nodejs-container","owner":"sclorg","description":"NodeJS images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running NodeJS applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.","archived":false,"fork":false,"pushed_at":"2025-03-27T11:50:06.000Z","size":713,"stargazers_count":166,"open_issues_count":19,"forks_count":287,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-31T22:18:10.925Z","etag":null,"topics":["centos","container","docker","dockerfile","fedora","javascript","openshift","rhel","s2i"],"latest_commit_sha":null,"homepage":"http://softwarecollections.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sclorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-04T19:26:46.000Z","updated_at":"2025-03-27T11:50:08.000Z","dependencies_parsed_at":"2023-01-14T05:25:20.993Z","dependency_job_id":"d0108484-0f91-4df2-9c3b-9655361be68f","html_url":"https://github.com/sclorg/s2i-nodejs-container","commit_stats":{"total_commits":576,"total_committers":46,"mean_commits":"12.521739130434783","dds":0.7413194444444444,"last_synced_commit":"09bf01b1cb838ac62c9fe8231dd3f70fd6b81e48"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclorg%2Fs2i-nodejs-container","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclorg%2Fs2i-nodejs-container/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclorg%2Fs2i-nodejs-container/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclorg%2Fs2i-nodejs-container/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sclorg","download_url":"https://codeload.github.com/sclorg/s2i-nodejs-container/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744332,"owners_count":20988783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["centos","container","docker","dockerfile","fedora","javascript","openshift","rhel","s2i"],"created_at":"2024-09-24T22:38:12.263Z","updated_at":"2025-04-07T23:07:37.251Z","avatar_url":"https://github.com/sclorg.png","language":"Shell","readme":"NodeJS container images\n====================\n\n[![Build and push images to Quay.io registry](https://github.com/sclorg/s2i-nodejs-container/actions/workflows/build-and-push.yml/badge.svg)](https://github.com/sclorg/s2i-nodejs-container/actions/workflows/build-and-push.yml)\n\nImages available on Quay are:\n* Fedora [nodejs-18](https://quay.io/repository/fedora/nodejs-18)\n* Fedora [nodejs-20](https://quay.io/repository/fedora/nodejs-20)\n* Fedora [nodejs-22](https://quay.io/repository/fedora/nodejs-22)\n\nThis repository contains the source for building various versions of\nthe Node.JS application as a reproducible container image using\n[source-to-image](https://github.com/openshift/source-to-image).\nUsers can choose between RHEL, CentOS and Fedora based builder images.\nThe resulting image can be run using [podman](https://github.com/containers/libpod).\n\nFor more information about using these images with OpenShift, please see the\nofficial [OpenShift Documentation](https://docs.okd.io/latest/using_images/s2i_images/nodejs.html).\n\nFor more information about contributing, see\n[the Contribution Guidelines](https://github.com/sclorg/welcome/blob/master/contribution.md).\nFor more information about concepts used in these container images, see the\n[Landing page](https://github.com/sclorg/welcome).\n\n\nVersions\n---------------\nNode.JS versions currently provided are:\n* [NodeJS 18](18)\n* [NodeJS 18-minimal](18-minimal)\n* [NodeJS 20](20)\n* [NodeJS 20-minimal](20-minimal)\n* [NodeJS 22](22)\n* [NodeJS 22-minimal](22-minimal)\n\nRHEL versions currently supported are:\n* RHEL8\n* RHEL9\n* RHEL10\n\nCentOS Stream versions currently available are:\n* CentOS Stream 9\n* CentOS Stream 10\n\n\nInstallation\n---------------\nTo build a Node.JS image, choose either the CentOS or RHEL based image:\n*  **RHEL based image**\n\n    These images are available in the [Red Hat Container Catalog](https://access.redhat.com/containers/#/registry.access.redhat.com/rhel8/nodejs-20).\n    To download it run:\n\n    ```\n    $ podman pull registry.access.redhat.com/rhel8/nodejs-18\n    ```\n\n    To build a RHEL based Node.JS image, you need to run the build on a properly\n    subscribed RHEL machine.\n\n    ```\n    $ git clone --recursive https://github.com/sclorg/s2i-nodejs-container.git\n    $ cd s2i-nodejs-container\n    $ git submodule update --init\n    $ make build TARGET=rhel8 VERSIONS=18\n    ```\n\n*  **CentOS Stream based image**\n\n    This image is available on DockerHub. To download it run:\n\n    ```\n    $ podman pull quay.io/sclorg/nodejs-20-c9s\n    ```\n\n    To build a Node.JS image from scratch run:\n\n    ```\n    $ git clone --recursive https://github.com/sclorg/s2i-nodejs-container.git\n    $ cd s2i-nodejs-container\n    $ git submodule update --init\n    $ make build TARGET=c9s VERSIONS=20\n    ```\n\nNote: while the installation steps are calling `podman`, you can replace any such calls by `docker` with the same arguments.\n\n**Notice: By omitting the `VERSIONS` parameter, the build/test action will be performed\non all provided versions of Node.JS.**\n\n\nUsage\n-----\n\nFor information about usage of Dockerfile for NodeJS 18,\nsee [usage documentation](18/README.md).\n\nFor information about usage of Dockerfile for NodeJS 18 minimal,\nsee [usage documentation](18-minimal/README.md).\n\nFor information about usage of Dockerfile for NodeJS 20,\nsee [usage documentation](20/README.md).\n\nFor information about usage of Dockerfile for NodeJS 20 minimal,\nsee [usage documentation](20-minimal/README.md).\n\nFor information about usage of Dockerfile for NodeJS 22,\nsee [usage documentation](22/README.md).\n\nFor information about usage of Dockerfile for NodeJS 22 minimal,\nsee [usage documentation](22-minimal/README.md).\n\nTest\n----\nThis repository also provides a [S2I](https://github.com/openshift/source-to-image) test framework,\nwhich launches tests to check functionality of a simple Node.JS application built on top of the s2i-nodejs image.\n\nUsers can choose between testing a Node.JS test application based on a RHEL or CentOS Stream image.\n\n*  **RHEL based image**\n\n    To test a RHEL8 based Node.JS image, you need to run the test on a properly\n    subscribed RHEL machine.\n\n    ```\n    $ cd s2i-nodejs-container\n    $ git submodule update --init\n    $ make test TARGET=rhel8 VERSIONS=20\n    ```\n\n*  **CentOS Stream based image**\n\n    ```\n    $ cd s2i-nodejs-container\n    $ git submodule update --init\n    $ make test TARGET=c9s VERSIONS=20\n    ```\n\n**Notice: By omitting the `VERSIONS` parameter, the build/test action will be performed\non all provided versions of Node.JS.**\n\n\nRepository organization\n------------------------\n* **`\u003cnodejs-version\u003e`**\n\n    * **Dockerfile.rhel8**\n\n        RHEL based Dockerfile. In order to perform build or test actions on this\n        Dockerfile you need to run the action on a properly subscribed RHEL machine.\n\n    * **`s2i/bin/`**\n\n        This folder contains scripts that are run by [S2I](https://github.com/openshift/source-to-image):\n\n        *   **assemble**\n\n            Used to install the sources into the location where the application\n            will be run and prepare the application for deployment (eg. installing\n            modules using npm, etc.)\n\n        *   **run**\n\n            This script is responsible for running the application, by using the\n            application web server.\n\n        *   **usage***\n\n            This script prints the usage of this image.\n\n    * **`contrib/`**\n\n        This folder contains a file with commonly used modules.\n\n    * **`test/`**\n\n        This folder contains the [S2I](https://github.com/openshift/source-to-image)\n        test framework with simple Node.JS echo server.\n\n        * **`test-app/`**\n\n            A simple Node.JS echo server used for testing purposes by the [S2I](https://github.com/openshift/source-to-image) test framework.\n\n        * **run**\n\n            This script runs the [S2I](https://github.com/openshift/source-to-image) test framework.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsclorg%2Fs2i-nodejs-container","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsclorg%2Fs2i-nodejs-container","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsclorg%2Fs2i-nodejs-container/lists"}