diff --git a/bitnami/mongodb/Dockerfile b/bitnami/mongodb/Dockerfile index 04f9af06e658..9f223445b991 100644 --- a/bitnami/mongodb/Dockerfile +++ b/bitnami/mongodb/Dockerfile @@ -17,4 +17,3 @@ COPY rootfs/ / EXPOSE 27017 VOLUME ["$BITNAMI_APP_VOL_PREFIX/data", "$BITNAMI_APP_VOL_PREFIX/conf", "$BITNAMI_APP_VOL_PREFIX/logs"] ENTRYPOINT ["/entrypoint.sh"] -CMD ["mongod"] diff --git a/bitnami/mongodb/rootfs/entrypoint.sh b/bitnami/mongodb/rootfs/entrypoint.sh index fbedec45652f..a435a43e9544 100755 --- a/bitnami/mongodb/rootfs/entrypoint.sh +++ b/bitnami/mongodb/rootfs/entrypoint.sh @@ -1,42 +1,11 @@ #!/bin/bash -set -e -source $BITNAMI_PREFIX/bitnami-utils.sh -print_welcome_page - -# We allow the user to pass extra options if [ "${1:0:1}" = '-' ]; then - EXTRA_OPTIONS="$@" - set -- mongod + export EXTRA_OPTIONS="$@" + set -- +elif [ "${1}" == "mongod" -o "${1}" == "$(which mongod)" ]; then + export EXTRA_OPTIONS="${@:2}" + set -- fi -if [ ! "$(ls -A $BITNAMI_APP_VOL_PREFIX/conf)" ]; then - generate_conf_files -fi - -# The user can run its own version or mongod and we still -# will want to log it and run it using the BITNAMI_APP_USER -if [[ "$1" = 'mongod' ]]; then - if [ ! -f $BITNAMI_APP_VOL_PREFIX/data/storage.bson ]; then - create_mongodb_user - print_app_credentials $BITNAMI_APP_NAME `print_mongo_user` `print_mongo_password` `print_mongo_database` - else - print_container_already_initialized $BITNAMI_APP_NAME - fi - - rm -rf $BITNAMI_APP_VOL_PREFIX/data/mongod.lock - chown -R $BITNAMI_APP_USER:$BITNAMI_APP_USER $BITNAMI_APP_VOL_PREFIX/data/ \ - $BITNAMI_APP_VOL_PREFIX/logs/ \ - $BITNAMI_APP_VOL_PREFIX/conf/ || true - - wait_and_tail_logs & - - # Add default configuration - if [[ "$@" = 'mongod' ]]; then - exec gosu $BITNAMI_APP_USER "$@" $PROGRAM_OPTIONS ${MONGODB_PASSWORD:+--auth} $EXTRA_OPTIONS - else - exec gosu $BITNAMI_APP_USER "$@" - fi -else - exec "$@" -fi +exec /init "$@" diff --git a/bitnami/mongodb/rootfs/etc/cont-init.d/01-bitnami-mongodb b/bitnami/mongodb/rootfs/etc/cont-init.d/01-bitnami-mongodb new file mode 100755 index 000000000000..ac6d49268f20 --- /dev/null +++ b/bitnami/mongodb/rootfs/etc/cont-init.d/01-bitnami-mongodb @@ -0,0 +1,20 @@ +#!/usr/bin/with-contenv bash +set -e +source $BITNAMI_PREFIX/bitnami-utils.sh + +print_welcome_page + +if [ ! "$(ls -A $BITNAMI_APP_VOL_PREFIX/conf)" ]; then + generate_conf_files +fi + +if [ ! -f $BITNAMI_APP_VOL_PREFIX/data/storage.bson ]; then + create_mongodb_user + print_app_credentials $BITNAMI_APP_NAME `print_mongo_user` `print_mongo_password` `print_mongo_database` +else + print_container_already_initialized $BITNAMI_APP_NAME +fi + +chown -R $BITNAMI_APP_USER:$BITNAMI_APP_USER $BITNAMI_APP_VOL_PREFIX/data/ \ + $BITNAMI_APP_VOL_PREFIX/logs/ \ + $BITNAMI_APP_VOL_PREFIX/conf/ || true diff --git a/bitnami/mongodb/rootfs/etc/services.d/mongodb-logs/finish b/bitnami/mongodb/rootfs/etc/services.d/mongodb-logs/finish new file mode 120000 index 000000000000..63b10de42114 --- /dev/null +++ b/bitnami/mongodb/rootfs/etc/services.d/mongodb-logs/finish @@ -0,0 +1 @@ +/bin/true \ No newline at end of file diff --git a/bitnami/mongodb/rootfs/etc/services.d/mongodb-logs/run b/bitnami/mongodb/rootfs/etc/services.d/mongodb-logs/run new file mode 100755 index 000000000000..d98bbc00f057 --- /dev/null +++ b/bitnami/mongodb/rootfs/etc/services.d/mongodb-logs/run @@ -0,0 +1,5 @@ +#!/usr/bin/with-contenv bash +set -e +source $BITNAMI_PREFIX/bitnami-utils.sh + +exec s6-setuidgid $BITNAMI_APP_USER tail -f -n 1000 $BITNAMI_APP_VOL_PREFIX/logs/*.log 2>/dev/null diff --git a/bitnami/mongodb/rootfs/etc/services.d/mongodb/finish b/bitnami/mongodb/rootfs/etc/services.d/mongodb/finish new file mode 120000 index 000000000000..63b10de42114 --- /dev/null +++ b/bitnami/mongodb/rootfs/etc/services.d/mongodb/finish @@ -0,0 +1 @@ +/bin/true \ No newline at end of file diff --git a/bitnami/mongodb/rootfs/etc/services.d/mongodb/run b/bitnami/mongodb/rootfs/etc/services.d/mongodb/run new file mode 100755 index 000000000000..e3aedad97431 --- /dev/null +++ b/bitnami/mongodb/rootfs/etc/services.d/mongodb/run @@ -0,0 +1,6 @@ +#!/usr/bin/with-contenv bash +set -e +source $BITNAMI_PREFIX/bitnami-utils.sh + +rm -rf $BITNAMI_APP_VOL_PREFIX/data/mongod.lock +exec s6-setuidgid $BITNAMI_APP_USER mongod $PROGRAM_OPTIONS ${MONGODB_PASSWORD:+--auth} ${EXTRA_OPTIONS:+"$EXTRA_OPTIONS"}