npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

centos7-nodejs

v0.4.3

Published

NodeJS images for OpenShift / Kubernetes, based on CentOS

Downloads

49

Readme

Origin S2I NodeJS

Build Status

This repository contains sources for an s2i builder image, based on CentOS7 and Node.js releases from nodejs.org.

If you are interested in developing against SCL-based Node.js releases, try sti-nodejs.

docker hub stats

For more information about using these images with OpenShift, please see the official OpenShift Documentation.

Versions

Node.js versions currently provided:

  • 7.9.0: (7.9.0, 7, 7.9, current, latest)
  • 6.10.3: (6.10.3, 6, 6.10, lts, Boron)
  • 5.12.0: (5.12.0, 5, 5.12)
  • 4.8.3: (4.8.3, 4, 4.8, lts, Argon)

Operating systems currently provided are: centos7, fedora, rhel7-atomic and rhel7

Usage

OpenShift allows you to quickly start a build using the web console, or the CLI.

The oc command-line tool can be used to start a build, layering your desired nodejs REPO_URL sources into a centos7 image with your selected RELEASE of Node.js via the following command format:

oc new-app bucharestgold/centos7-s2i-nodejs:RELEASE~REPO_URL

For example, you can run a build (including npm install steps), using s2i-nodejs example repo, and the current relase of Node.js with:

oc new-app bucharestgold/centos7-s2i-nodejs:current~https://github.com/bucharest-gold/s2i-nodejs

Or, to run the latest lts release:

oc new-app bucharestgold/centos7-s2i-nodejs:lts~https://github.com/bucharest-gold/s2i-nodejs

You can try using any of the available tagged Node.js releases, and your own repo sources - as long as your application source will init correctly with npm start, and listen on port 8080.

Environment variables

Application developers can use the following environment variables to configure the runtime behavior of this image:

NAME | Description ------------|------------- NPM_RUN | Select an alternate / custom runtime mode, defined in your package.json file's scripts section (default: npm run "start") NPM_MIRROR | Sets the npm registry URL NODE_ENV | Node.js runtime mode (default: "production") HTTP_PROXY | use an npm proxy during assembly HTTPS_PROXY | use an npm proxy during assembly

One way to define a set of environment variables is to include them as key value pairs in your repo's .s2i/environment file.

Example: DATABASE_USER=sampleUser

Using Docker's exec

To change your source code in a running container, use Docker's exec command:

docker exec -it <CONTAINER_ID> /bin/bash

After you Docker exec into the running container, your current directory is set to /opt/app-root/src, where the source code for your application is located.

Using OpenShift's rsync

If you have deployed the container to OpenShift, you can use oc rsync to copy local files to a remote container running in an OpenShift pod.

Builds

The Source2Image cli tools are available as a standalone project, allowing you to run builds outside of OpenShift.

This example will produce a new docker image named webapp:

s2i build https://github.com/bucharest-gold/s2i-nodejs bucharestgold/centos7-s2i-nodejs:current webapp

Installation

There are several ways to make this base image and the full list of tagged Node.js releases available to users during OpenShift's web-based "Add to Project" workflow.

For OpenShift Online Next Gen Developer Preview

Those without admin privileges can install the latest Node.js releases within their project context with:

oc create -f https://raw.githubusercontent.com/bucharest-gold/origin-s2i-nodejs/master/image-streams.json

To ensure that each of the latest Node.js release tags are available and displayed correctly in the web UI, try upgrading / reinstalling the image stream:

oc delete is/centos7-s2i-nodejs ; oc create -f https://raw.githubusercontent.com/bucharest-gold/origin-s2i-nodejs/master/image-streams.json

If you've (automatically) imported this image using the oc new-app example command, then you may need to clear the auto-imported image stream reference and re-install it.

For Administrators

Administrators can make these Node.js releases available globally (visible in all projects, by all users) by adding them to the openshift namespace:

oc create -n openshift -f https://raw.githubusercontent.com/bucharest-gold/origin-s2i-nodejs/master/image-streams.json

To replace the default SCL-packaged openshift/nodejs image (admin access required), run:

oc delete is/nodejs -n openshift ; oc create -n openshift -f https://raw.githubusercontent.com/bucharest-gold/origin-s2i-nodejs/master/centos7-s2i-nodejs.json

Building your own Builder images

Clone a copy of this repo to fetch the build sources:

git clone https://github.com/bucharest-gold/origin-s2i-nodejs.git
cd origin-s2i-nodejs

To build your own S2I Node.js builder images from scratch, run:

make build

You can also build a specific release, or try building the alternate ONBUILD version of this base:

ONBUILD=true make VERSION=6.3.1

The ONBUILD base images are available at https://hub.docker.com/r/bucharestgold/centos7-nodejs

Instructions for build own builder images on Ubuntu 1604

Test

This repository also provides a S2I test framework, which launches tests to check functionality of a simple Node.js application built on top of the origin-s2i-nodejs image.

make test

Repository organization

  • Dockerfile

    CentOS based Dockerfile with 64bit Node.js binaries from nodejs.org. Used to create the s2i base images.

  • Dockerfile.onbuild

    CentOS based Dockerfile with 64bit Node.js binaries from nodejs.org.

  • build/

    Folder containing scripts which are responsible for the build and test actions performed by the Makefile.

  • ** image-streams.json **

    Use this file to add these runtimes to OpenShift's web-based "Add to Project" workflow.

  • ** releases.json **

    A JSON file containing metadata about the releases currently supported.

  • s2i

    This folder contains scripts that are run by s2i:

    • assemble

      Used to install the sources into the location where the application will be run and prepare the application for deployment (eg. installing modules using npm, etc.)

    • run

      This script is responsible for running the application, by using the application web server.

    • usage*

      This script prints the usage of this image.

  • contrib/

    This folder contains a file with commonly used modules.

  • test/

    This folder contains the s2i test framework with simple Node.js echo server, an onbuild test and onbuild test with openshift using oc cluster up.

    • test-app/

      A simple Node.js echo server used for testing purposes by the S2I test framework.

    • run

      This script runs the S2I test framework.

  • ** Makefile **

    See the build your own builder images section of the README for build and test usage details.