bitnami-containers/bitnami/postgresql/10/debian-9/rootfs/app-entrypoint.sh

70 lines
2.9 KiB
Bash
Executable File

#!/bin/bash -e
. /opt/bitnami/base/functions
. /opt/bitnami/base/helpers
print_welcome_page
if [[ "$1" == "nami" && "$2" == "start" ]] || [[ "$1" == "/run.sh" ]]; then
# Copy mounted configuration files
PERSIST_CONF_DIR=/bitnami/postgresql/conf
CONF_DIR=/opt/bitnami/postgresql/conf
if [[ -d "$PERSIST_CONF_DIR" ]]; then
mkdir -p $CONF_DIR
cp -r $PERSIST_CONF_DIR/. $CONF_DIR
fi
if ! getent passwd "$(id -u)" &> /dev/null && [ -e /usr/lib/libnss_wrapper.so ]; then
export LD_PRELOAD='/usr/lib/libnss_wrapper.so'
# shellcheck disable=SC2155
export NSS_WRAPPER_PASSWD="$(mktemp)"
# shellcheck disable=SC2155
export NSS_WRAPPER_GROUP="$(mktemp)"
echo "postgres:x:$(id -u):$(id -g):PostgreSQL:$PGDATA:/bin/false" > "$NSS_WRAPPER_PASSWD"
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
fi
if [[ -n $POSTGRESQL_PASSWORD_FILE ]]; then
declare PASSWORD_AUX
PASSWORD_AUX="$(< "${POSTGRESQL_PASSWORD_FILE}")"
export POSTGRESQL_PASSWORD=$PASSWORD_AUX
fi
if [[ -n $POSTGRESQL_REPLICATION_PASSWORD_FILE ]]; then
declare REPLICATION_PASSWORD_AUX
REPLICATION_PASSWORD_AUX="$(< "${POSTGRESQL_REPLICATION_PASSWORD_FILE}")"
export POSTGRESQL_REPLICATION_PASSWORD=$REPLICATION_PASSWORD_AUX
fi
declareEnvironmentVariableAlias() {
if env | grep -q "$2"; then
export $1=${!2}
fi
}
# Alias created for official postgre image compatibility
declareEnvironmentVariableAlias POSTGRESQL_PASSWORD POSTGRES_PASSWORD
declareEnvironmentVariableAlias POSTGRESQL_DATABASE POSTGRES_DB
declareEnvironmentVariableAlias POSTGRESQL_USERNAME POSTGRES_USER
declareEnvironmentVariableAlias POSTGRESQL_DATA_DIR PGDATA
declareEnvironmentVariableAlias POSTGRESQL_INITDB_WALDIR POSTGRES_INITDB_WALDIR
# Alias created for maintain consistency using prefix
declareEnvironmentVariableAlias POSTGRESQL_CLUSTER_APP_NAME POSTGRES_CLUSTER_APP_NAME
declareEnvironmentVariableAlias POSTGRESQL_MASTER_HOST POSTGRES_MASTER_HOST
declareEnvironmentVariableAlias POSTGRESQL_MASTER_PORT_NUMBER POSTGRES_MASTER_PORT_NUMBER
declareEnvironmentVariableAlias POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS POSTGRES_NUM_SYNCHRONOUS_REPLICAS
declareEnvironmentVariableAlias POSTGRESQL_PORT_NUMBER POSTGRES_PORT_NUMBER
declareEnvironmentVariableAlias POSTGRESQL_REPLICATION_MODE POSTGRES_REPLICATION_MODE
declareEnvironmentVariableAlias POSTGRESQL_REPLICATION_PASSWORD POSTGRES_REPLICATION_PASSWORD
declareEnvironmentVariableAlias POSTGRESQL_REPLICATION_USER POSTGRES_REPLICATION_USER
declareEnvironmentVariableAlias POSTGRESQL_SYNCHRONOUS_COMMIT_MODE POSTGRES_SYNCHRONOUS_COMMIT_MODE
declareEnvironmentVariableAlias POSTGRESQL_PASSWORD_FILE POSTGRES_PASSWORD_FILE
declareEnvironmentVariableAlias POSTGRESQL_REPLICATION_PASSWORD_FILE POSTGRES_REPLICATION_PASSWORD_FILE
nami_initialize postgresql
info "Starting postgresql... "
fi
exec tini -- "$@"