64 lines
2.4 KiB
Bash
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
|