|
|
#!/usr/bin/env bash |
|
|
set -euo pipefail |
|
|
|
|
|
: "${MYSQL_DATABASE:?Set MYSQL_DATABASE}" |
|
|
: "${MYSQL_USER:?Set MYSQL_USER}" |
|
|
: "${MYSQL_PASSWORD:?Set MYSQL_PASSWORD}" |
|
|
|
|
|
mkdir -p /run/mysqld |
|
|
chown -R mysql:mysql /run/mysqld |
|
|
|
|
|
if [ ! -d /var/lib/mysql/mysql ]; then |
|
|
mariadb-install-db --user=mysql --datadir=/var/lib/mysql > /dev/null |
|
|
fi |
|
|
|
|
|
mariadbd-safe --datadir=/var/lib/mysql --bind-address=127.0.0.1 >/dev/null 2>&1 & |
|
|
|
|
|
until mariadb-admin ping --silent > /dev/null 2>&1; do |
|
|
sleep 1 |
|
|
done |
|
|
|
|
|
mariadb -uroot <<SQL |
|
|
CREATE DATABASE IF NOT EXISTS \`${MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
|
|
|
|
|
CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}'; |
|
|
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%'; |
|
|
|
|
|
CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'localhost' IDENTIFIED BY '${MYSQL_PASSWORD}'; |
|
|
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'localhost'; |
|
|
|
|
|
FLUSH PRIVILEGES; |
|
|
SQL |
|
|
|
|
|
redis-server --bind 127.0.0.1 --port 6379 --protected-mode yes >/dev/null 2>&1 & |
|
|
|
|
|
cron >/dev/null 2>&1 || true |
|
|
|
|
|
export MYSQL_HOST=127.0.0.1 |
|
|
|
|
|
exec /entrypoint.sh "$@" |
|
|
|