- restructured directories - removed unused libraries - removed welcome message - refactored docker file
48 lines
1.6 KiB
Bash
Executable File
48 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright VMware, Inc.
|
|
# SPDX-License-Identifier: APACHE-2.0
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
# set -o xtrace # Uncomment this line for debugging purposes
|
|
|
|
# Load libraries
|
|
. /opt/bitnami/scripts/libfs.sh
|
|
. /opt/bitnami/scripts/libos.sh
|
|
. /opt/bitnami/mongodb/scripts/libmongodb.sh
|
|
|
|
# Load environment
|
|
. /opt/bitnami/mongodb/scripts/mongodb-env.sh
|
|
|
|
is_boolean_yes "$MONGODB_DISABLE_SYSTEM_LOG" && MONGODB_DISABLE_SYSTEM_LOG="true" || MONGODB_DISABLE_SYSTEM_LOG="false"
|
|
is_boolean_yes "$MONGODB_ENABLE_DIRECTORY_PER_DB" && MONGODB_ENABLE_DIRECTORY_PER_DB="true" || MONGODB_ENABLE_DIRECTORY_PER_DB="false"
|
|
is_boolean_yes "$MONGODB_ENABLE_IPV6" && MONGODB_ENABLE_IPV6="true" || MONGODB_ENABLE_IPV6="false"
|
|
|
|
# Ensure MongoDB env var settings are valid
|
|
mongodb_validate
|
|
# Ensure MongoDB is stopped when this script ends.
|
|
trap "mongodb_stop" EXIT
|
|
|
|
# Ensure 'daemon' user exists when running as 'root'
|
|
am_i_root && ensure_user_exists "$MONGODB_DAEMON_USER" --group "$MONGODB_DAEMON_GROUP"
|
|
# Fix logging issue when running as root
|
|
am_i_root && chmod o+w "$(readlink /dev/stdout)"
|
|
|
|
# Ensure directories used by MongoDB exist and have proper ownership and permissions
|
|
for dir in "$MONGODB_TMP_DIR" "$MONGODB_LOG_DIR" "$MONGODB_DATA_DIR"; do
|
|
ensure_dir_exists "$dir"
|
|
am_i_root && chown -R "${MONGODB_DAEMON_USER}:${MONGODB_DAEMON_GROUP}" "$dir"
|
|
done
|
|
am_i_root && configure_permissions_ownership "$MONGODB_CONF_FILE" -f "640" -g "$MONGODB_DAEMON_GROUP"
|
|
|
|
# Ensure MongoDB is initialized
|
|
mongodb_initialize
|
|
|
|
mongodb_set_listen_all_conf
|
|
|
|
# Allow running custom initialization scripts
|
|
mongodb_custom_init_scripts
|