#!/usr/bin/env bash set -euo pipefail # allow the container to be started with `--user` if [[ "$1" == rabbitmq* ]] && [ "$(id -u)" = '0' ]; then if [ "$1" = 'rabbitmq-server' ]; then find /var/lib/rabbitmq \! -user rabbitmq -exec chown rabbitmq '{}' + fi exec gosu rabbitmq "$BASH_SOURCE" "$@" fi deprecatedEnvVars=( RABBITMQ_DEFAULT_PASS RABBITMQ_DEFAULT_PASS_FILE RABBITMQ_DEFAULT_USER RABBITMQ_DEFAULT_USER_FILE RABBITMQ_DEFAULT_VHOST RABBITMQ_MANAGEMENT_SSL_CACERTFILE RABBITMQ_MANAGEMENT_SSL_CERTFILE RABBITMQ_MANAGEMENT_SSL_DEPTH RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT RABBITMQ_MANAGEMENT_SSL_KEYFILE RABBITMQ_MANAGEMENT_SSL_VERIFY RABBITMQ_SSL_CACERTFILE RABBITMQ_SSL_CERTFILE RABBITMQ_SSL_DEPTH RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT RABBITMQ_SSL_KEYFILE RABBITMQ_SSL_VERIFY RABBITMQ_VM_MEMORY_HIGH_WATERMARK ) hasOldEnv= for old in "${deprecatedEnvVars[@]}"; do if [ -n "${!old:-}" ]; then echo >&2 "error: $old is set but deprecated" hasOldEnv=1 fi done if [ -n "$hasOldEnv" ]; then echo >&2 'error: deprecated environment variables detected' echo >&2 echo >&2 'Please use a configuration file instead; visit https://www.rabbitmq.com/configure.html to learn more' echo >&2 exit 1 fi # if long and short hostnames are not the same, use long hostnames if [ -z "${RABBITMQ_USE_LONGNAME:-}" ] && [ "$(hostname)" != "$(hostname -s)" ]; then : "${RABBITMQ_USE_LONGNAME:=true}" fi exec "$@"