40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
echo "The application will start in ${JHIPSTER_SLEEP}s..." && sleep ${JHIPSTER_SLEEP}
|
||
|
|
||
|
# usage: file_env VAR [DEFAULT]
|
||
|
# ie: file_env 'XYZ_DB_PASSWORD' 'example'
|
||
|
# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
|
||
|
# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
|
||
|
file_env() {
|
||
|
local var="$1"
|
||
|
local fileVar="${var}_FILE"
|
||
|
local def="${2:-}"
|
||
|
if [[ ${!var:-} && ${!fileVar:-} ]]; then
|
||
|
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
||
|
exit 1
|
||
|
fi
|
||
|
local val="$def"
|
||
|
if [[ ${!var:-} ]]; then
|
||
|
val="${!var}"
|
||
|
elif [[ ${!fileVar:-} ]]; then
|
||
|
val="$(< "${!fileVar}")"
|
||
|
fi
|
||
|
|
||
|
if [[ -n $val ]]; then
|
||
|
export "$var"="$val"
|
||
|
fi
|
||
|
|
||
|
unset "$fileVar"
|
||
|
}
|
||
|
|
||
|
file_env 'SPRING_DATASOURCE_URL'
|
||
|
file_env 'SPRING_DATASOURCE_USERNAME'
|
||
|
file_env 'SPRING_DATASOURCE_PASSWORD'
|
||
|
file_env 'SPRING_LIQUIBASE_URL'
|
||
|
file_env 'SPRING_LIQUIBASE_USER'
|
||
|
file_env 'SPRING_LIQUIBASE_PASSWORD'
|
||
|
file_env 'JHIPSTER_REGISTRY_PASSWORD'
|
||
|
|
||
|
exec java ${JAVA_OPTS} -noverify -XX:+AlwaysPreTouch -Djava.security.egd=file:/dev/./urandom -cp /app/resources/:/app/classes/:/app/libs/* "org.gcube.isdashboard.IsdashboardApp" "$@"
|