2020-04-28 10:49:35 +02:00

64 lines
2.4 KiB
Bash

#!/bin/sh
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
MYSQL_ROOT_PASSWORD=$(cat < /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
export MYSQL_ROOT_PASSWORD
fi
if [ -z "${MYSQL_DATABASE}" ]; then
MYSQL_DATABASE=openvidu_sample_app
export MYSQL_DATABASE
fi
echo "MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}"
echo "MYSQL_DATABASE: ${MYSQL_DATABASE}"
[ ! -z "${OPENVIDU_URL}" ] && echo "OPENVIDU_URL: ${OPENVIDU_URL}" || echo "OPENVIDU_URL: default"
[ ! -z "${OPENVIDU_SECRET}" ] && echo "OPENVIDU_SECRET: ${OPENVIDU_SECRET}" || echo "OPENVIDU_SECRET: default"
[ ! -z "${APP_PORT}" ] && echo "APP_PORT: ${APP_PORT}" || echo "APP_PORT: default"
# Configure MySQL
if [ -d "/run/mysqld" ]; then
echo "mysqld already present, skipping creation"
chown -R mysql:mysql /run/mysqld
else
echo "mysqld not found, creating...."
mkdir -p /run/mysqld
chown -R mysql:mysql /run/mysqld
fi
if [ -d /var/lib/mysql/mysql ]; then
echo "MySQL directory already present, skipping creation"
chown -R mysql:mysql /var/lib/mysql
else
tfile=$(mktemp)
mysql_install_db --user=mysql --ldata=/var/lib/mysql > /dev/null
cat << EOF > "$tfile"
USE mysql;
FLUSH PRIVILEGES ;
GRANT ALL ON *.* TO 'root'@'%' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION ;
GRANT ALL ON *.* TO 'root'@'localhost' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION ;
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('${MYSQL_ROOT_PASSWORD}') ;
DROP DATABASE IF EXISTS test ;
FLUSH PRIVILEGES ;
CREATE DATABASE IF NOT EXISTS ${MYSQL_DATABASE} CHARACTER SET utf8 COLLATE utf8_general_ci;
EOF
/usr/bin/mysqld --user=mysql --bootstrap --verbose=0 --skip-name-resolve --skip-networking=0 < "$tfile"
rm -f "$tfile"
fi
/usr/bin/mysqld --user=mysql --skip-name-resolve --skip-networking=0 &
# Run Application
JAVA_PROPERTIES="-Djava.security.egd=file:/dev/./urandom"
JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dspring.datasource.password=${MYSQL_ROOT_PASSWORD}"
JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dspring.datasource.url=jdbc:mysql://127.0.0.1:3306/${MYSQL_DATABASE}"
[ ! -z "${OPENVIDU_URL}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dopenvidu.url=${OPENVIDU_URL}"
[ ! -z "${OPENVIDU_SECRET}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dopenvidu.secret=${OPENVIDU_SECRET}"
[ ! -z "${APP_PORT}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dserver.port=${APP_PORT}"
java ${JAVA_PROPERTIES} -jar /opt/classroom-demo.jar