diff --git a/bitnami/express/4/Dockerfile b/bitnami/express/4/Dockerfile deleted file mode 100644 index d8fadd5750d6..000000000000 --- a/bitnami/express/4/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM bitnami/minideb-extras:jessie-r24-buildpack - -LABEL maintainer "Bitnami " - -# System packages required -RUN install_packages ghostscript imagemagick libbz2-1.0 libc6 libgcc1 libmysqlclient18 libncurses5 libreadline6 libsqlite3-0 libssl1.0.0 libstdc++6 libtinfo5 zlib1g netcat-traditional - -# Additional modules required -RUN bitnami-pkg install node-7.10.0-0 --checksum 7209e62e60335308287cba38bc18fb34245d41b86bc7ffd3ad26413f186c529b -ENV PATH=/opt/bitnami/node/bin:/opt/bitnami/python/bin:$PATH \ - NODE_PATH=/opt/bitnami/node/lib/node_modules - -RUN bitnami-pkg install express-generator-4.15.0-0 --checksum 28212293bc46e35f3e5638ba3a361fd4cdfcf7be5ee70e0412e8644393255505 -RUN npm install -g bower@1.8.0 sequelize-cli - -# Install express -RUN bitnami-pkg install express-4.15.3-0 --checksum e511a51d76c71a36545c8c7b60ff47e428800dd91a92dc4f67ae7bc65db1b6f3 -RUN rm -rf /app - -# ExpressJS template -ENV BITNAMI_APP_NAME=express -ENV BITNAMI_IMAGE_VERSION=4.15.3-r3 - -COPY rootfs/ / - -# The extra files that we bundle should use the Bitnami User -# so the entrypoint does not have any permission issues -RUN mkdir /app && chown bitnami: /app /dist - -USER bitnami - -WORKDIR /app - -EXPOSE 3000 - -ENTRYPOINT ["/app-entrypoint.sh"] - -CMD ["npm", "start"] diff --git a/bitnami/express/4/docker-compose.yml b/bitnami/express/4/docker-compose.yml deleted file mode 100644 index ee40aa0a4a38..000000000000 --- a/bitnami/express/4/docker-compose.yml +++ /dev/null @@ -1,27 +0,0 @@ -version: '2' - -services: - mongodb: - image: bitnami/mongodb:latest - - myapp: - tty: true # Enables debugging capabilities when attached to this container. - image: 'bitnami/express:4' - labels: - kompose.service.type: nodeport - command: npm run development - environment: - - PORT=3000 - - NODE_ENV=development - - DATABASE_URL=mongodb://mongodb:27017/myapp - - - SKIP_DB_WAIT=0 - - SKIP_DB_MIGRATION=0 - - SKIP_NPM_INSTALL=0 - - SKIP_BOWER_INSTALL=0 - depends_on: - - mongodb - ports: - - 3000:3000 - volumes: - - .:/app diff --git a/bitnami/express/4/rootfs/app-entrypoint.sh b/bitnami/express/4/rootfs/app-entrypoint.sh deleted file mode 100755 index 2ef2ffaf0333..000000000000 --- a/bitnami/express/4/rootfs/app-entrypoint.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -e -. /opt/bitnami/base/functions -. /opt/bitnami/express/functions - -print_welcome_page - -if [ "$1" == npm ] && [ "$2" == "start" -o "$2" == "run" ]; then - bootstrap_express_app - - add_dockerfile - - install_packages - - wait_for_db - - if ! fresh_container; then - echo "#########################################################################" - echo " " - echo " App initialization skipped:" - echo " Delete the file $INIT_SEM and restart the container to reinitialize" - echo " You can alternatively run specific commands using docker-compose exec" - echo " e.g docker-compose exec myapp npm install angular" - echo " " - echo "#########################################################################" - else - # Perform any app initialization tasks here. - log "Initialization finished" - fi - - migrate_db - - touch $INIT_SEM -fi - -exec tini -- "$@" diff --git a/bitnami/express/4/rootfs/dist/.dockerignore b/bitnami/express/4/rootfs/dist/.dockerignore deleted file mode 100644 index cf2599217edd..000000000000 --- a/bitnami/express/4/rootfs/dist/.dockerignore +++ /dev/null @@ -1,5 +0,0 @@ -.git/ -node_modules/ -.gitignore -docker-compose.yml - diff --git a/bitnami/express/4/rootfs/dist/.gitignore b/bitnami/express/4/rootfs/dist/.gitignore deleted file mode 100644 index d5700888a3a2..000000000000 --- a/bitnami/express/4/rootfs/dist/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ - diff --git a/bitnami/express/4/rootfs/dist/Dockerfile.tpl b/bitnami/express/4/rootfs/dist/Dockerfile.tpl deleted file mode 100644 index 24a8ac7d61aa..000000000000 --- a/bitnami/express/4/rootfs/dist/Dockerfile.tpl +++ /dev/null @@ -1,23 +0,0 @@ -## Dockerfile for building production image -FROM bitnami/express:{{BITNAMI_IMAGE_VERSION}} -LABEL maintainer "John Smith " - -ENV DISABLE_WELCOME_MESSAGE=1 - -ENV NODE_ENV=production \ - PORT=3000 - -# Skip fetching dependencies and database migrations for production image -ENV SKIP_DB_WAIT=0 \ - SKIP_DB_MIGRATION=1 \ - SKIP_NPM_INSTALL=1 \ - SKIP_BOWER_INSTALL=1 - -COPY . /app -RUN sudo chown -R bitnami: /app - -RUN npm install -RUN bower install - -EXPOSE 3000 -CMD ["npm", "start"] diff --git a/bitnami/express/4/rootfs/dist/samples/mariadb.js b/bitnami/express/4/rootfs/dist/samples/mariadb.js deleted file mode 100644 index f92729774cae..000000000000 --- a/bitnami/express/4/rootfs/dist/samples/mariadb.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - Note: Generated by Bitnami: - Configuration file that shows how to use the built in MySQL database in your project. - Based on the examples found here: https://github.com/mysqljs/mysql -*/ - -var mysql = require('mysql') - , assert = require('assert');; - -// Connection URL configured in your docker-compose.yml file -var url = process.env.DATABASE_URL; - -var connection = mysql.createConnection(url); -connection.connect(function(err) { - assert.equal(null, err); - console.log("Connected correctly to MySQL server"); - connection.query('SHOW TABLES;'); - connection.end(); -}); diff --git a/bitnami/express/4/rootfs/dist/samples/mongodb.js b/bitnami/express/4/rootfs/dist/samples/mongodb.js deleted file mode 100644 index ad668e76ec86..000000000000 --- a/bitnami/express/4/rootfs/dist/samples/mongodb.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - Note: Generated by Bitnami: - Configuration file that shows how to use the built in MongoDB database in your project. - Based on the examples found here: https://github.com/mongodb/node-mongodb-native - - If you want to use an ODM instead of barebone Node connections, you can install Mongoose - https://www.npmjs.com/package/mongoose -*/ - -var MongoClient = require('mongodb').MongoClient - , assert = require('assert'); - -// Connection URL configured in your docker-compose.yml file -var url = process.env.DATABASE_URL; - -MongoClient.connect(url, function(err, db) { - assert.equal(null, err); - console.log("Connected correctly to MongoDB server"); - db.close(); -}); diff --git a/bitnami/express/4/rootfs/opt/bitnami/express/functions b/bitnami/express/4/rootfs/opt/bitnami/express/functions deleted file mode 100644 index d389e5852a88..000000000000 --- a/bitnami/express/4/rootfs/opt/bitnami/express/functions +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/bash -. /opt/bitnami/base/functions - -INIT_SEM=/tmp/initialized.sem -PACKAGE_FILE=/app/package.json - -fresh_container() { - [ ! -f $INIT_SEM ] -} - -app_present() { - [ -f package.json ] -} - -dependencies_up_to_date() { - # It it up to date if the package file is older than - # the last time the container was initialized - [ ! $PACKAGE_FILE -nt $INIT_SEM ] -} - -database_tier_exists() { - [ -n "$(getent hosts mongodb mysql mariadb postgresql)" ] -} - -__wait_for_db() { - local host=$1 - local port=$2 - local ip_address=$(getent hosts $1 | awk '{ print $1 }') - - info "Connecting to at $host server at $ip_address:$port." - - counter=0 - until nc -z $ip_address $port; do - counter=$((counter+1)) - if [ $counter == 10 ]; then - error "Couldn't connect to $host server." - return 1 - fi - info "Trying to connect to $host server at $ip_address:$port. Attempt $counter." - sleep 5 - done - info "Connected to $host server." -} - -wait_for_db() { - if ! [[ -n $SKIP_DB_WAIT && $SKIP_DB_WAIT -gt 0 ]] && database_tier_exists ; then - if getent hosts mongodb >/dev/null; then - __wait_for_db mongodb 27017 - fi - - if getent hosts mariadb >/dev/null; then - __wait_for_db mariadb 3306 - fi - - if getent hosts mysql >/dev/null; then - __wait_for_db mysql 3306 - fi - - if getent hosts postgresql >/dev/null; then - __wait_for_db postgresql 5432 - fi - fi -} - -add_gitignore_sample() { - info "Installing git ignore rules." - cp /dist/.gitignore .gitignore -} - -add_sample_code() { - if ! [[ -n $SKIP_SAMPLE_CODE && $SKIP_SAMPLE_CODE -gt 0 ]]; then - info "Adding dist samples." - cp -r /dist/samples . - fi -} - -add_database_support() { - if database_tier_exists; then - if getent hosts mongodb >/dev/null && ! npm ls mongodb >/dev/null; then - info "Adding mongodb npm module." - npm install --save mongodb - fi - - if getent hosts mariadb >/dev/null && ! npm ls mysql >/dev/null || getent hosts mysql >/dev/null && ! npm ls mysql >/dev/null; then - info "Adding mysql npm module." - npm install --save mysql - fi - - if getent hosts postgresql >/dev/null && ! npm ls pg pg-hstore >/dev/null; then - info "Adding pg pg-hstore npm modules." - npm install --save pg pg-hstore - fi - fi -} - -add_nodemon_support() { - info "Adding nodemon npm module (dev)." - npm install nodemon --save-dev - sed -i 's;"start".*;"start": "node ./bin/www", "development": "nodemon ./bin/www";' package.json -} - -bootstrap_express_app() { - if ! app_present; then - info "Creating express application." - express . -f - - add_gitignore_sample - add_database_support - add_nodemon_support - add_sample_code - else - info "Skipping creation of new application. Already exists!" - fi -} - -add_dockerfile() { - if [[ ! -f Dockerfile ]]; then - cp -r /dist/Dockerfile.tpl Dockerfile - sed -i 's/{{BITNAMI_IMAGE_VERSION}}/'"$BITNAMI_IMAGE_VERSION"'/g' Dockerfile - [[ ! -f bower.json ]] && sed -i '/^RUN bower install/d' Dockerfile - fi - - if [[ ! -f .dockerignore ]]; then - cp -r /dist/.dockerignore . - fi -} - -install_packages() { - if ! dependencies_up_to_date; then - if ! [[ -n $SKIP_NPM_INSTALL && $SKIP_NPM_INSTALL -gt 0 ]] && [[ -f package.json ]]; then - info "Installing npm packages." - npm install - fi - - if ! [[ -n $SKIP_BOWER_INSTALL && $SKIP_BOWER_INSTALL -gt 0 ]] && [[ -f bower.json ]]; then - info "Installing bower packages." - bower install - fi - fi -} - -migrate_db() { - if ! [[ -n $SKIP_DB_MIGRATE && $SKIP_DB_MIGRATE -gt 0 ]] && [[ -f .sequelizerc ]]; then - info "Applying database migrations (sequelize db:migrate)." - sequelize db:migrate - fi -}