mirror of
https://github.com/bitnami/containers.git
synced 2026-03-16 06:49:12 +08:00
181 lines
8.0 KiB
Bash
181 lines
8.0 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Environment configuration for rabbitmq
|
|
|
|
# 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)
|
|
|
|
# Load logging library
|
|
# shellcheck disable=SC1090,SC1091
|
|
. /opt/bitnami/scripts/liblog.sh
|
|
|
|
export BITNAMI_ROOT_DIR="/opt/bitnami"
|
|
export BITNAMI_VOLUME_DIR="/bitnami"
|
|
|
|
# Logging configuration
|
|
export MODULE="${MODULE:-rabbitmq}"
|
|
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
|
|
rabbitmq_env_vars=(
|
|
RABBITMQ_CONF_FILE
|
|
RABBITMQ_DEFINITIONS_FILE
|
|
RABBITMQ_SECURE_PASSWORD
|
|
RABBITMQ_CLUSTER_NODE_NAME
|
|
RABBITMQ_CLUSTER_PARTITION_HANDLING
|
|
RABBITMQ_DISK_FREE_RELATIVE_LIMIT
|
|
RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT
|
|
RABBITMQ_ERL_COOKIE
|
|
RABBITMQ_VM_MEMORY_HIGH_WATERMARK
|
|
RABBITMQ_LOAD_DEFINITIONS
|
|
RABBITMQ_MANAGEMENT_BIND_IP
|
|
RABBITMQ_MANAGEMENT_PORT_NUMBER
|
|
RABBITMQ_NODE_NAME
|
|
RABBITMQ_USE_LONGNAME
|
|
RABBITMQ_NODE_PORT_NUMBER
|
|
RABBITMQ_NODE_TYPE
|
|
RABBITMQ_VHOST
|
|
RABBITMQ_VHOSTS
|
|
RABBITMQ_CLUSTER_REBALANCE
|
|
RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS
|
|
RABBITMQ_USERNAME
|
|
RABBITMQ_PASSWORD
|
|
RABBITMQ_FORCE_BOOT
|
|
RABBITMQ_ENABLE_LDAP
|
|
RABBITMQ_LDAP_TLS
|
|
RABBITMQ_LDAP_SERVERS
|
|
RABBITMQ_LDAP_SERVERS_PORT
|
|
RABBITMQ_LDAP_USER_DN_PATTERN
|
|
RABBITMQ_NODE_SSL_PORT_NUMBER
|
|
RABBITMQ_SSL_CACERTFILE
|
|
RABBITMQ_SSL_CERTFILE
|
|
RABBITMQ_SSL_KEYFILE
|
|
RABBITMQ_SSL_DEPTH
|
|
RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT
|
|
RABBITMQ_SSL_VERIFY
|
|
RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER
|
|
RABBITMQ_MANAGEMENT_SSL_CACERTFILE
|
|
RABBITMQ_MANAGEMENT_SSL_CERTFILE
|
|
RABBITMQ_MANAGEMENT_SSL_KEYFILE
|
|
RABBITMQ_MANAGEMENT_SSL_DEPTH
|
|
RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT
|
|
RABBITMQ_MANAGEMENT_SSL_VERIFY
|
|
RABBITMQ_CONFIG_FILE
|
|
RABBITMQ_ERLANG_COOKIE
|
|
RABBITMQ_MANAGER_BIND_IP
|
|
RABBITMQ_MANAGER_PORT_NUMBER
|
|
RABBITMQ_DEFAULT_VHOST
|
|
RABBITMQ_DEFAULT_USER
|
|
RABBITMQ_DEFAULT_PASS
|
|
RABBITMQ_SSL_CACERT_FILE
|
|
RABBITMQ_SSL_CERT_FILE
|
|
RABBITMQ_SSL_KEY_FILE
|
|
)
|
|
for env_var in "${rabbitmq_env_vars[@]}"; do
|
|
file_env_var="${env_var}_FILE"
|
|
if [[ -n "${!file_env_var:-}" ]]; then
|
|
if [[ -r "${!file_env_var:-}" ]]; then
|
|
export "${env_var}=$(< "${!file_env_var}")"
|
|
unset "${file_env_var}"
|
|
else
|
|
warn "Skipping export of '${env_var}'. '${!file_env_var:-}' is not readable."
|
|
fi
|
|
fi
|
|
done
|
|
unset rabbitmq_env_vars
|
|
|
|
# Paths
|
|
export RABBITMQ_VOLUME_DIR="/bitnami/rabbitmq"
|
|
export RABBITMQ_BASE_DIR="/opt/bitnami/rabbitmq"
|
|
export RABBITMQ_BIN_DIR="${RABBITMQ_BASE_DIR}/sbin"
|
|
export RABBITMQ_DATA_DIR="${RABBITMQ_VOLUME_DIR}/mnesia"
|
|
export RABBITMQ_CONF_DIR="${RABBITMQ_BASE_DIR}/etc/rabbitmq"
|
|
RABBITMQ_CONF_FILE="${RABBITMQ_CONF_FILE:-"${RABBITMQ_CONFIG_FILE:-}"}"
|
|
export RABBITMQ_CONF_FILE="${RABBITMQ_CONF_FILE:-${RABBITMQ_CONF_DIR}/rabbitmq.conf}"
|
|
export RABBITMQ_CONF_ENV_FILE="${RABBITMQ_CONF_DIR}/rabbitmq-env.conf"
|
|
export RABBITMQ_HOME_DIR="${RABBITMQ_BASE_DIR}/.rabbitmq"
|
|
export RABBITMQ_LIB_DIR="${RABBITMQ_BASE_DIR}/var/lib/rabbitmq"
|
|
export RABBITMQ_INITSCRIPTS_DIR="/docker-entrypoint-initdb.d"
|
|
export RABBITMQ_LOGS_DIR="${RABBITMQ_BASE_DIR}/var/log/rabbitmq"
|
|
export RABBITMQ_DEFINITIONS_FILE="${RABBITMQ_DEFINITIONS_FILE:-/app/load_definition.json}"
|
|
export RABBITMQ_PLUGINS_DIR="${RABBITMQ_BASE_DIR}/plugins"
|
|
export RABBITMQ_MOUNTED_CONF_DIR="${RABBITMQ_VOLUME_DIR}/conf"
|
|
export PATH="${RABBITMQ_BIN_DIR}:${BITNAMI_ROOT_DIR}/common/bin:${BITNAMI_ROOT_DIR}/erlang/bin:${PATH}"
|
|
|
|
# System users (when running with a privileged user)
|
|
export RABBITMQ_DAEMON_USER="rabbitmq"
|
|
export RABBITMQ_DAEMON_GROUP="rabbitmq"
|
|
|
|
# RabbitMQ settings
|
|
export RABBITMQ_SECURE_PASSWORD="${RABBITMQ_SECURE_PASSWORD:-no}"
|
|
export RABBITMQ_CLUSTER_NODE_NAME="${RABBITMQ_CLUSTER_NODE_NAME:-}"
|
|
export RABBITMQ_CLUSTER_PARTITION_HANDLING="${RABBITMQ_CLUSTER_PARTITION_HANDLING:-ignore}"
|
|
export RABBITMQ_DISK_FREE_RELATIVE_LIMIT="${RABBITMQ_DISK_FREE_RELATIVE_LIMIT:-1.0}"
|
|
export RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT="${RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT:-}"
|
|
RABBITMQ_ERL_COOKIE="${RABBITMQ_ERL_COOKIE:-"${RABBITMQ_ERLANG_COOKIE:-}"}"
|
|
export RABBITMQ_ERL_COOKIE="${RABBITMQ_ERL_COOKIE:-}"
|
|
export RABBITMQ_VM_MEMORY_HIGH_WATERMARK="${RABBITMQ_VM_MEMORY_HIGH_WATERMARK:-}"
|
|
export RABBITMQ_LOAD_DEFINITIONS="${RABBITMQ_LOAD_DEFINITIONS:-no}"
|
|
RABBITMQ_MANAGEMENT_BIND_IP="${RABBITMQ_MANAGEMENT_BIND_IP:-"${RABBITMQ_MANAGER_BIND_IP:-}"}"
|
|
export RABBITMQ_MANAGEMENT_BIND_IP="${RABBITMQ_MANAGEMENT_BIND_IP:-0.0.0.0}"
|
|
RABBITMQ_MANAGEMENT_PORT_NUMBER="${RABBITMQ_MANAGEMENT_PORT_NUMBER:-"${RABBITMQ_MANAGER_PORT_NUMBER:-}"}"
|
|
export RABBITMQ_MANAGEMENT_PORT_NUMBER="${RABBITMQ_MANAGEMENT_PORT_NUMBER:-15672}"
|
|
export RABBITMQ_NODE_NAME="${RABBITMQ_NODE_NAME:-rabbit@localhost}"
|
|
export RABBITMQ_USE_LONGNAME="${RABBITMQ_USE_LONGNAME:-false}"
|
|
export RABBITMQ_NODE_PORT_NUMBER="${RABBITMQ_NODE_PORT_NUMBER:-5672}"
|
|
export RABBITMQ_NODE_TYPE="${RABBITMQ_NODE_TYPE:-stats}"
|
|
RABBITMQ_VHOST="${RABBITMQ_VHOST:-"${RABBITMQ_DEFAULT_VHOST:-}"}"
|
|
export RABBITMQ_VHOST="${RABBITMQ_VHOST:-/}"
|
|
export RABBITMQ_VHOSTS="${RABBITMQ_VHOSTS:-}"
|
|
export RABBITMQ_CLUSTER_REBALANCE="${RABBITMQ_CLUSTER_REBALANCE:-false}"
|
|
export RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS="${RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS:-100}"
|
|
|
|
# RabbitMQ authentication
|
|
RABBITMQ_USERNAME="${RABBITMQ_USERNAME:-"${RABBITMQ_DEFAULT_USER:-}"}"
|
|
export RABBITMQ_USERNAME="${RABBITMQ_USERNAME:-user}"
|
|
RABBITMQ_PASSWORD="${RABBITMQ_PASSWORD:-"${RABBITMQ_DEFAULT_PASS:-}"}"
|
|
export RABBITMQ_PASSWORD="${RABBITMQ_PASSWORD:-bitnami}"
|
|
|
|
# Force boot cluster
|
|
export RABBITMQ_FORCE_BOOT="${RABBITMQ_FORCE_BOOT:-no}"
|
|
|
|
# LDAP
|
|
export RABBITMQ_ENABLE_LDAP="${RABBITMQ_ENABLE_LDAP:-no}"
|
|
export RABBITMQ_LDAP_TLS="${RABBITMQ_LDAP_TLS:-no}"
|
|
export RABBITMQ_LDAP_SERVERS="${RABBITMQ_LDAP_SERVERS:-}"
|
|
export RABBITMQ_LDAP_SERVERS_PORT="${RABBITMQ_LDAP_SERVERS_PORT:-389}"
|
|
export RABBITMQ_LDAP_USER_DN_PATTERN="${RABBITMQ_LDAP_USER_DN_PATTERN:-}"
|
|
|
|
# RabbitMQ native environment variables (see https://www.rabbitmq.com/relocate.html)
|
|
export RABBITMQ_MNESIA_BASE="$RABBITMQ_DATA_DIR"
|
|
|
|
# Print all log messages to standard output
|
|
|
|
# SSL/TLS configuration
|
|
export RABBITMQ_NODE_SSL_PORT_NUMBER="${RABBITMQ_NODE_SSL_PORT_NUMBER:-5671}"
|
|
RABBITMQ_SSL_CACERTFILE="${RABBITMQ_SSL_CACERTFILE:-"${RABBITMQ_SSL_CACERT_FILE:-}"}"
|
|
export RABBITMQ_SSL_CACERTFILE="${RABBITMQ_SSL_CACERTFILE:-}"
|
|
RABBITMQ_SSL_CERTFILE="${RABBITMQ_SSL_CERTFILE:-"${RABBITMQ_SSL_CERT_FILE:-}"}"
|
|
export RABBITMQ_SSL_CERTFILE="${RABBITMQ_SSL_CERTFILE:-}"
|
|
RABBITMQ_SSL_KEYFILE="${RABBITMQ_SSL_KEYFILE:-"${RABBITMQ_SSL_KEY_FILE:-}"}"
|
|
export RABBITMQ_SSL_KEYFILE="${RABBITMQ_SSL_KEYFILE:-}"
|
|
export RABBITMQ_COMBINED_CERT_PATH="${RABBITMQ_COMBINED_CERT_PATH:-/tmp/rabbitmq_combined_keys.pem}"
|
|
export RABBITMQ_SSL_DEPTH="${RABBITMQ_SSL_DEPTH:-}"
|
|
export RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT="${RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT:-no}"
|
|
export RABBITMQ_SSL_VERIFY="${RABBITMQ_SSL_VERIFY:-verify_none}"
|
|
|
|
# Management SSL/TLS configuration
|
|
export RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER="${RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER:-15671}"
|
|
export RABBITMQ_MANAGEMENT_SSL_CACERTFILE="${RABBITMQ_MANAGEMENT_SSL_CACERTFILE:-$RABBITMQ_SSL_CACERTFILE}"
|
|
export RABBITMQ_MANAGEMENT_SSL_CERTFILE="${RABBITMQ_MANAGEMENT_SSL_CERTFILE:-$RABBITMQ_SSL_CERTFILE}"
|
|
export RABBITMQ_MANAGEMENT_SSL_KEYFILE="${RABBITMQ_MANAGEMENT_SSL_KEYFILE:-$RABBITMQ_SSL_KEYFILE}"
|
|
export RABBITMQ_MANAGEMENT_SSL_DEPTH="${RABBITMQ_MANAGEMENT_SSL_DEPTH:-}"
|
|
export RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT="${RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT:-yes}"
|
|
export RABBITMQ_MANAGEMENT_SSL_VERIFY="${RABBITMQ_MANAGEMENT_SSL_VERIFY:-verify_peer}"
|
|
|
|
# Custom environment variables may be defined below
|