Created
August 12, 2020 17:04
-
-
Save marcosbc/5da8182f2707a45f28f1756bf24d4188 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Environment configuration for postgresql | |
# The values for all environment variables will be set in the below order of precedence | |
# 1. Custom environment variables defined below after Bitnami defaults | |
# 2. Constants defined in this file (environment variables with no default), i.e. BITNAMI_ROOT_DIR | |
# 3. Environment variables overridden via external files using *_FILE variables (see below) | |
# 4. Environment variables set externally (i.e. current Bash context/Dockerfile/userdata) | |
export BITNAMI_ROOT_DIR="/opt/bitnami" | |
export BITNAMI_VOLUME_DIR="/bitnami" | |
# Logging configuration | |
export MODULE="${MODULE:-postgresql}" | |
export BITNAMI_DEBUG="${BITNAMI_DEBUG:-false}" | |
# By setting an environment variable matching *_FILE to a file path, the prefixed environment | |
# variable will be overridden with the value specified in that file | |
postgresql_env_vars=( | |
POSTGRESQL_DATA_DIR | |
POSTGRESQL_INIT_MAX_TIMEOUT | |
POSTGRESQL_CLUSTER_APP_NAME | |
POSTGRESQL_DATABASE | |
POSTGRESQL_INITDB_ARGS | |
ALLOW_EMPTY_PASSWORD | |
POSTGRESQL_INITDB_WAL_DIR | |
POSTGRESQL_MASTER_HOST | |
POSTGRESQL_MASTER_PORT_NUMBER | |
POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS | |
POSTGRESQL_PORT_NUMBER | |
POSTGRESQL_ALLOW_REMOTE_CONNECTIONS | |
POSTGRESQL_REPLICATION_MODE | |
POSTGRESQL_REPLICATION_USER | |
POSTGRESQL_SYNCHRONOUS_COMMIT_MODE | |
POSTGRESQL_FSYNC | |
POSTGRESQL_USERNAME | |
POSTGRESQL_ENABLE_LDAP | |
POSTGRESQL_LDAP_URL | |
POSTGRESQL_LDAP_PREFIX | |
POSTGRESQL_LDAP_SUFFIX | |
POSTGRESQL_LDAP_SERVER | |
POSTGRESQL_LDAP_PORT | |
POSTGRESQL_LDAP_SCHEME | |
POSTGRESQL_LDAP_TLS | |
POSTGRESQL_LDAP_BASE_DN | |
POSTGRESQL_LDAP_BIND_DN | |
POSTGRESQL_LDAP_BIND_PASSWORD | |
POSTGRESQL_LDAP_SEARCH_ATTR | |
POSTGRESQL_LDAP_SEARCH_FILTER | |
POSTGRESQL_INITSCRIPTS_USERNAME | |
POSTGRESQL_PASSWORD | |
POSTGRESQL_POSTGRES_PASSWORD | |
POSTGRESQL_REPLICATION_PASSWORD | |
POSTGRESQL_INITSCRIPTS_PASSWORD | |
POSTGRESQL_ENABLE_TLS | |
POSTGRESQL_TLS_CERT_FILE | |
POSTGRESQL_TLS_KEY_FILE | |
POSTGRESQL_TLS_CA_FILE | |
POSTGRESQL_TLS_CRL_FILE | |
POSTGRESQL_TLS_PREFER_SERVER_CIPHERS | |
POSTGRES_DATA_DIR | |
PGDATA | |
POSTGRES_CLUSTER_APP_NAME | |
POSTGRES_DATABASE | |
POSTGRES_DB | |
POSTGRES_INITDB_ARGS | |
POSTGRES_INITDB_WAL_DIR | |
POSTGRES_MASTER_HOST | |
POSTGRES_MASTER_PORT_NUMBER | |
POSTGRES_NUM_SYNCHRONOUS_REPLICAS | |
POSTGRES_PORT_NUMBER | |
POSTGRES_ALLOW_REMOTE_CONNECTIONS | |
POSTGRES_REPLICATION_MODE | |
POSTGRES_REPLICATION_USER | |
POSTGRES_SYNCHRONOUS_COMMIT_MODE | |
POSTGRES_FSYNC | |
POSTGRES_USERNAME | |
POSTGRES_USER | |
POSTGRESQL_USER | |
POSTGRES_ENABLE_LDAP | |
POSTGRES_LDAP_URL | |
POSTGRES_LDAP_PREFIX | |
POSTGRES_LDAP_SUFFIX | |
POSTGRES_LDAP_SERVER | |
POSTGRES_LDAP_PORT | |
POSTGRES_LDAP_SCHEME | |
POSTGRES_LDAP_TLS | |
POSTGRES_LDAP_BASE_DN | |
POSTGRES_LDAP_BIND_DN | |
POSTGRES_LDAP_BIND_PASSWORD | |
POSTGRES_LDAP_SEARCH_ATTR | |
POSTGRES_LDAP_SEARCH_FILTER | |
POSTGRES_INITSCRIPTS_USERNAME | |
POSTGRES_PASSWORD | |
POSTGRES_POSTGRES_PASSWORD | |
POSTGRES_REPLICATION_PASSWORD | |
POSTGRES_INITSCRIPTS_PASSWORD | |
POSTGRES_ENABLE_TLS | |
POSTGRES_TLS_CERT_FILE | |
POSTGRES_TLS_KEY_FILE | |
POSTGRES_TLS_CA_FILE | |
POSTGRES_TLS_CRL_FILE | |
POSTGRES_TLS_PREFER_SERVER_CIPHERS | |
) | |
for env_var in "${postgresql_env_vars[@]}"; do | |
file_env_var="${env_var}_FILE" | |
if [[ -n "${!file_env_var:-}" ]]; then | |
export "${env_var}=$(< "${!file_env_var}")" | |
unset "${file_env_var}" | |
fi | |
done | |
unset postgresql_env_vars | |
# Paths | |
export PATH="/opt/bitnami/postgresql/bin:/opt/bitnami/common/bin:$PATH" | |
export POSTGRESQL_VOLUME_DIR="/bitnami/postgresql" | |
export POSTGRESQL_BASE_DIR="/opt/bitnami/postgresql" | |
POSTGRESQL_DATA_DIR="${POSTGRESQL_DATA_DIR:-"${POSTGRES_DATA_DIR:-}"}" | |
POSTGRESQL_DATA_DIR="${POSTGRESQL_DATA_DIR:-"${PGDATA:-}"}" | |
export POSTGRESQL_DATA_DIR="${POSTGRESQL_DATA_DIR:-${POSTGRESQL_VOLUME_DIR}/data}" | |
export POSTGRESQL_CONF_DIR="$POSTGRESQL_BASE_DIR/conf" | |
export POSTGRESQL_MOUNTED_CONF_DIR="$POSTGRESQL_VOLUME_DIR/conf" | |
export POSTGRESQL_CONF_FILE="$POSTGRESQL_CONF_DIR/postgresql.conf" | |
export POSTGRESQL_PGHBA_FILE="$POSTGRESQL_CONF_DIR/pg_hba.conf" | |
export POSTGRESQL_RECOVERY_FILE="$POSTGRESQL_DATA_DIR/recovery.conf" | |
export POSTGRESQL_LOG_DIR="$POSTGRESQL_BASE_DIR/logs" | |
export POSTGRESQL_LOG_FILE="$POSTGRESQL_LOG_DIR/postgresql.log" | |
export POSTGRESQL_TMP_DIR="$POSTGRESQL_BASE_DIR/tmp" | |
export POSTGRESQL_PID_FILE="$POSTGRESQL_TMP_DIR/postgresql.pid" | |
export POSTGRESQL_BIN_DIR="$POSTGRESQL_BASE_DIR/bin" | |
export POSTGRESQL_INITSCRIPTS_DIR="/docker-entrypoint-initdb.d" | |
export POSTGRESQL_PREINITSCRIPTS_DIR="/docker-entrypoint-preinitdb.d" | |
export PATH="${POSTGRESQL_BIN_DIR}:${BITNAMI_ROOT_DIR}/common/bin:${PATH}" | |
# System users (when running with a privileged user) | |
export POSTGRESQL_DAEMON_USER="postgres" | |
export POSTGRESQL_DAEMON_GROUP="postgres" | |
# PostgreSQL settings | |
export POSTGRESQL_INIT_MAX_TIMEOUT="${POSTGRESQL_INIT_MAX_TIMEOUT:-60}" | |
POSTGRESQL_CLUSTER_APP_NAME="${POSTGRESQL_CLUSTER_APP_NAME:-"${POSTGRES_CLUSTER_APP_NAME:-}"}" | |
export POSTGRESQL_CLUSTER_APP_NAME="${POSTGRESQL_CLUSTER_APP_NAME:-walreceiver}" | |
POSTGRESQL_DATABASE="${POSTGRESQL_DATABASE:-"${POSTGRES_DATABASE:-}"}" | |
POSTGRESQL_DATABASE="${POSTGRESQL_DATABASE:-"${POSTGRES_DB:-}"}" | |
export POSTGRESQL_DATABASE="${POSTGRESQL_DATABASE:-postgres}" | |
POSTGRESQL_INITDB_ARGS="${POSTGRESQL_INITDB_ARGS:-"${POSTGRES_INITDB_ARGS:-}"}" | |
export POSTGRESQL_INITDB_ARGS="${POSTGRESQL_INITDB_ARGS:-}" | |
export ALLOW_EMPTY_PASSWORD="${ALLOW_EMPTY_PASSWORD:-no}" | |
POSTGRESQL_INITDB_WAL_DIR="${POSTGRESQL_INITDB_WAL_DIR:-"${POSTGRES_INITDB_WAL_DIR:-}"}" | |
export POSTGRESQL_INITDB_WAL_DIR="${POSTGRESQL_INITDB_WAL_DIR:-}" | |
POSTGRESQL_MASTER_HOST="${POSTGRESQL_MASTER_HOST:-"${POSTGRES_MASTER_HOST:-}"}" | |
export POSTGRESQL_MASTER_HOST="${POSTGRESQL_MASTER_HOST:-}" | |
POSTGRESQL_MASTER_PORT_NUMBER="${POSTGRESQL_MASTER_PORT_NUMBER:-"${POSTGRES_MASTER_PORT_NUMBER:-}"}" | |
export POSTGRESQL_MASTER_PORT_NUMBER="${POSTGRESQL_MASTER_PORT_NUMBER:-5432}" | |
POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS="${POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS:-"${POSTGRES_NUM_SYNCHRONOUS_REPLICAS:-}"}" | |
export POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS="${POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS:-0}" | |
POSTGRESQL_PORT_NUMBER="${POSTGRESQL_PORT_NUMBER:-"${POSTGRES_PORT_NUMBER:-}"}" | |
export POSTGRESQL_PORT_NUMBER="${POSTGRESQL_PORT_NUMBER:-5432}" | |
POSTGRESQL_ALLOW_REMOTE_CONNECTIONS="${POSTGRESQL_ALLOW_REMOTE_CONNECTIONS:-"${POSTGRES_ALLOW_REMOTE_CONNECTIONS:-}"}" | |
export POSTGRESQL_ALLOW_REMOTE_CONNECTIONS="${POSTGRESQL_ALLOW_REMOTE_CONNECTIONS:-yes}" | |
POSTGRESQL_REPLICATION_MODE="${POSTGRESQL_REPLICATION_MODE:-"${POSTGRES_REPLICATION_MODE:-}"}" | |
export POSTGRESQL_REPLICATION_MODE="${POSTGRESQL_REPLICATION_MODE:-master}" | |
POSTGRESQL_REPLICATION_USER="${POSTGRESQL_REPLICATION_USER:-"${POSTGRES_REPLICATION_USER:-}"}" | |
export POSTGRESQL_REPLICATION_USER="${POSTGRESQL_REPLICATION_USER:-}" | |
POSTGRESQL_SYNCHRONOUS_COMMIT_MODE="${POSTGRESQL_SYNCHRONOUS_COMMIT_MODE:-"${POSTGRES_SYNCHRONOUS_COMMIT_MODE:-}"}" | |
export POSTGRESQL_SYNCHRONOUS_COMMIT_MODE="${POSTGRESQL_SYNCHRONOUS_COMMIT_MODE:-on}" | |
POSTGRESQL_FSYNC="${POSTGRESQL_FSYNC:-"${POSTGRES_FSYNC:-}"}" | |
export POSTGRESQL_FSYNC="${POSTGRESQL_FSYNC:-on}" | |
POSTGRESQL_USERNAME="${POSTGRESQL_USERNAME:-"${POSTGRES_USERNAME:-}"}" | |
POSTGRESQL_USERNAME="${POSTGRESQL_USERNAME:-"${POSTGRES_USER:-}"}" | |
POSTGRESQL_USERNAME="${POSTGRESQL_USERNAME:-"${POSTGRESQL_USER:-}"}" | |
export POSTGRESQL_USERNAME="${POSTGRESQL_USERNAME:-postgres}" | |
POSTGRESQL_ENABLE_LDAP="${POSTGRESQL_ENABLE_LDAP:-"${POSTGRES_ENABLE_LDAP:-}"}" | |
export POSTGRESQL_ENABLE_LDAP="${POSTGRESQL_ENABLE_LDAP:-no}" | |
POSTGRESQL_LDAP_URL="${POSTGRESQL_LDAP_URL:-"${POSTGRES_LDAP_URL:-}"}" | |
export POSTGRESQL_LDAP_URL="${POSTGRESQL_LDAP_URL:-}" | |
POSTGRESQL_LDAP_PREFIX="${POSTGRESQL_LDAP_PREFIX:-"${POSTGRES_LDAP_PREFIX:-}"}" | |
export POSTGRESQL_LDAP_PREFIX="${POSTGRESQL_LDAP_PREFIX:-}" | |
POSTGRESQL_LDAP_SUFFIX="${POSTGRESQL_LDAP_SUFFIX:-"${POSTGRES_LDAP_SUFFIX:-}"}" | |
export POSTGRESQL_LDAP_SUFFIX="${POSTGRESQL_LDAP_SUFFIX:-}" | |
POSTGRESQL_LDAP_SERVER="${POSTGRESQL_LDAP_SERVER:-"${POSTGRES_LDAP_SERVER:-}"}" | |
export POSTGRESQL_LDAP_SERVER="${POSTGRESQL_LDAP_SERVER:-}" | |
POSTGRESQL_LDAP_PORT="${POSTGRESQL_LDAP_PORT:-"${POSTGRES_LDAP_PORT:-}"}" | |
export POSTGRESQL_LDAP_PORT="${POSTGRESQL_LDAP_PORT:-}" | |
POSTGRESQL_LDAP_SCHEME="${POSTGRESQL_LDAP_SCHEME:-"${POSTGRES_LDAP_SCHEME:-}"}" | |
export POSTGRESQL_LDAP_SCHEME="${POSTGRESQL_LDAP_SCHEME:-}" | |
POSTGRESQL_LDAP_TLS="${POSTGRESQL_LDAP_TLS:-"${POSTGRES_LDAP_TLS:-}"}" | |
export POSTGRESQL_LDAP_TLS="${POSTGRESQL_LDAP_TLS:-}" | |
POSTGRESQL_LDAP_BASE_DN="${POSTGRESQL_LDAP_BASE_DN:-"${POSTGRES_LDAP_BASE_DN:-}"}" | |
export POSTGRESQL_LDAP_BASE_DN="${POSTGRESQL_LDAP_BASE_DN:-}" | |
POSTGRESQL_LDAP_BIND_DN="${POSTGRESQL_LDAP_BIND_DN:-"${POSTGRES_LDAP_BIND_DN:-}"}" | |
export POSTGRESQL_LDAP_BIND_DN="${POSTGRESQL_LDAP_BIND_DN:-}" | |
POSTGRESQL_LDAP_BIND_PASSWORD="${POSTGRESQL_LDAP_BIND_PASSWORD:-"${POSTGRES_LDAP_BIND_PASSWORD:-}"}" | |
export POSTGRESQL_LDAP_BIND_PASSWORD="${POSTGRESQL_LDAP_BIND_PASSWORD:-}" | |
POSTGRESQL_LDAP_SEARCH_ATTR="${POSTGRESQL_LDAP_SEARCH_ATTR:-"${POSTGRES_LDAP_SEARCH_ATTR:-}"}" | |
export POSTGRESQL_LDAP_SEARCH_ATTR="${POSTGRESQL_LDAP_SEARCH_ATTR:-}" | |
POSTGRESQL_LDAP_SEARCH_FILTER="${POSTGRESQL_LDAP_SEARCH_FILTER:-"${POSTGRES_LDAP_SEARCH_FILTER:-}"}" | |
export POSTGRESQL_LDAP_SEARCH_FILTER="${POSTGRESQL_LDAP_SEARCH_FILTER:-}" | |
POSTGRESQL_INITSCRIPTS_USERNAME="${POSTGRESQL_INITSCRIPTS_USERNAME:-"${POSTGRES_INITSCRIPTS_USERNAME:-}"}" | |
export POSTGRESQL_INITSCRIPTS_USERNAME="${POSTGRESQL_INITSCRIPTS_USERNAME:-$POSTGRESQL_USERNAME}" | |
POSTGRESQL_PASSWORD="${POSTGRESQL_PASSWORD:-"${POSTGRES_PASSWORD:-}"}" | |
export POSTGRESQL_PASSWORD="${POSTGRESQL_PASSWORD:-}" | |
POSTGRESQL_POSTGRES_PASSWORD="${POSTGRESQL_POSTGRES_PASSWORD:-"${POSTGRES_POSTGRES_PASSWORD:-}"}" | |
export POSTGRESQL_POSTGRES_PASSWORD="${POSTGRESQL_POSTGRES_PASSWORD:-}" | |
POSTGRESQL_REPLICATION_PASSWORD="${POSTGRESQL_REPLICATION_PASSWORD:-"${POSTGRES_REPLICATION_PASSWORD:-}"}" | |
export POSTGRESQL_REPLICATION_PASSWORD="${POSTGRESQL_REPLICATION_PASSWORD:-}" | |
POSTGRESQL_INITSCRIPTS_PASSWORD="${POSTGRESQL_INITSCRIPTS_PASSWORD:-"${POSTGRES_INITSCRIPTS_PASSWORD:-}"}" | |
export POSTGRESQL_INITSCRIPTS_PASSWORD="${POSTGRESQL_INITSCRIPTS_PASSWORD:-$POSTGRESQL_PASSWORD}" | |
POSTGRESQL_ENABLE_TLS="${POSTGRESQL_ENABLE_TLS:-"${POSTGRES_ENABLE_TLS:-}"}" | |
export POSTGRESQL_ENABLE_TLS="${POSTGRESQL_ENABLE_TLS:-no}" | |
POSTGRESQL_TLS_CERT_FILE="${POSTGRESQL_TLS_CERT_FILE:-"${POSTGRES_TLS_CERT_FILE:-}"}" | |
export POSTGRESQL_TLS_CERT_FILE="${POSTGRESQL_TLS_CERT_FILE:-}" | |
POSTGRESQL_TLS_KEY_FILE="${POSTGRESQL_TLS_KEY_FILE:-"${POSTGRES_TLS_KEY_FILE:-}"}" | |
export POSTGRESQL_TLS_KEY_FILE="${POSTGRESQL_TLS_KEY_FILE:-}" | |
POSTGRESQL_TLS_CA_FILE="${POSTGRESQL_TLS_CA_FILE:-"${POSTGRES_TLS_CA_FILE:-}"}" | |
export POSTGRESQL_TLS_CA_FILE="${POSTGRESQL_TLS_CA_FILE:-}" | |
POSTGRESQL_TLS_CRL_FILE="${POSTGRESQL_TLS_CRL_FILE:-"${POSTGRES_TLS_CRL_FILE:-}"}" | |
export POSTGRESQL_TLS_CRL_FILE="${POSTGRESQL_TLS_CRL_FILE:-}" | |
POSTGRESQL_TLS_PREFER_SERVER_CIPHERS="${POSTGRESQL_TLS_PREFER_SERVER_CIPHERS:-"${POSTGRES_TLS_PREFER_SERVER_CIPHERS:-}"}" | |
export POSTGRESQL_TLS_PREFER_SERVER_CIPHERS="${POSTGRESQL_TLS_PREFER_SERVER_CIPHERS:-yes}" | |
# Internal | |
export POSTGRESQL_FIRST_BOOT="yes" | |
export NSS_WRAPPER_LIB="/opt/bitnami/common/lib/libnss_wrapper.so" | |
# Custom environment variables may be defined below |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment