| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/usr/bin/env bash
- if [[ -z "$CONTAINER_UID" ]]; then
- export CONTAINER_UID="application"
- fi
- set -o pipefail # trace ERR through pipes
- set -o errtrace # trace ERR through 'time command' and other functions
- set -o nounset ## set -u : exit the script if you try to use an uninitialised variable
- set -o errexit ## set -e : exit the script if any statement returns a non-true return value
- # auto elevate privileges (if container is not started as root)
- if [[ "$UID" -ne 0 ]]; then
- export CONTAINER_UID="$UID"
- exec gosu root "$0" "$@"
- fi
- # remove suid bit on gosu
- chmod -s /sbin/gosu
- trap 'echo sigterm ; exit' SIGTERM
- trap 'echo sigkill ; exit' SIGKILL
- # sanitize input and set task
- TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')"
- source /opt/docker/bin/config.sh
- createDockerStdoutStderr
- if [[ "$UID" -eq 0 ]]; then
- # Only run provision if user is root
- if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then
- # Visible provisioning
- runProvisionEntrypoint
- else
- # Hidden provisioning
- runProvisionEntrypoint > /dev/null
- fi
- fi
- #############################
- ## COMMAND
- #############################
- runEntrypoints "$@"
|