|
Radoslav Pitonak |
a13a5db |
#!/bin/bash -e
|
|
Radoslav Pitonak |
a13a5db |
#
|
|
Radoslav Pitonak |
a13a5db |
# S2I run script for the 'nodejs' image.
|
|
Radoslav Pitonak |
a13a5db |
# The run script executes the server that runs your application.
|
|
Radoslav Pitonak |
a13a5db |
#
|
|
Radoslav Pitonak |
a13a5db |
# For more information see the documentation:
|
|
Radoslav Pitonak |
a13a5db |
# https://github.com/openshift/source-to-image/blob/master/docs/builder_image.md
|
|
Radoslav Pitonak |
a13a5db |
#
|
|
Radoslav Pitonak |
a13a5db |
|
|
Radoslav Pitonak |
a13a5db |
|
|
Radoslav Pitonak |
a13a5db |
# Runs the nodejs application server. If the container is run in development mode,
|
|
Radoslav Pitonak |
a13a5db |
# hot deploy and debugging are enabled.
|
|
Radoslav Pitonak |
a13a5db |
run_node() {
|
|
Radoslav Pitonak |
a13a5db |
echo -e "Environment: \n\tDEV_MODE=${DEV_MODE}\n\tNODE_ENV=${NODE_ENV}\n\tDEBUG_PORT=${DEBUG_PORT}"
|
|
Radoslav Pitonak |
a13a5db |
if [ "$DEV_MODE" == true ]; then
|
|
Radoslav Pitonak |
a13a5db |
echo "Launching via nodemon..."
|
|
Radoslav Pitonak |
a13a5db |
exec nodemon --debug="$DEBUG_PORT"
|
|
Radoslav Pitonak |
a13a5db |
else
|
|
Radoslav Pitonak |
a13a5db |
echo "Launching via npm..."
|
|
Radoslav Pitonak |
a13a5db |
exec npm run -d $NPM_RUN
|
|
Radoslav Pitonak |
a13a5db |
fi
|
|
Radoslav Pitonak |
a13a5db |
}
|
|
Radoslav Pitonak |
a13a5db |
|
|
Radoslav Pitonak |
a13a5db |
#Set the debug port to 5858 by default.
|
|
Radoslav Pitonak |
a13a5db |
if [ -z "$DEBUG_PORT" ]; then
|
|
Radoslav Pitonak |
a13a5db |
export DEBUG_PORT=5858
|
|
Radoslav Pitonak |
a13a5db |
fi
|
|
Radoslav Pitonak |
a13a5db |
|
|
Radoslav Pitonak |
a13a5db |
# Set the environment to development by default.
|
|
Radoslav Pitonak |
a13a5db |
if [ -z "$DEV_MODE" ]; then
|
|
Radoslav Pitonak |
a13a5db |
export DEV_MODE=false
|
|
Radoslav Pitonak |
a13a5db |
fi
|
|
Radoslav Pitonak |
a13a5db |
|
|
Radoslav Pitonak |
a13a5db |
# If NODE_ENV is not set by the user, then NODE_ENV is determined by whether
|
|
Radoslav Pitonak |
a13a5db |
# the container is run in development mode.
|
|
Radoslav Pitonak |
a13a5db |
if [ -z "$NODE_ENV" ]; then
|
|
Radoslav Pitonak |
a13a5db |
if [ "$DEV_MODE" == true ]; then
|
|
Radoslav Pitonak |
a13a5db |
export NODE_ENV=development
|
|
Radoslav Pitonak |
a13a5db |
else
|
|
Radoslav Pitonak |
a13a5db |
export NODE_ENV=production
|
|
Radoslav Pitonak |
a13a5db |
fi
|
|
Radoslav Pitonak |
a13a5db |
fi
|
|
Radoslav Pitonak |
a13a5db |
|
|
Radoslav Pitonak |
a13a5db |
# Allow users to inspect/debug the builder image itself, by using:
|
|
Radoslav Pitonak |
a13a5db |
# $ docker run -i -t openshift/centos-nodejs-builder --debug
|
|
Radoslav Pitonak |
a13a5db |
#
|
|
Radoslav Pitonak |
a13a5db |
[ "$1" == "--debug" ] && exec /bin/bash
|
|
Radoslav Pitonak |
a13a5db |
|
|
Radoslav Pitonak |
a13a5db |
run_node
|