41 lines
788 B
Bash
Executable file
41 lines
788 B
Bash
Executable file
#!/bin/sh
|
|
set -e
|
|
|
|
echo
|
|
|
|
dirisempty()
|
|
{
|
|
[ -z "$( ls -A "$1" )" ]
|
|
}
|
|
|
|
# install database if doesn't exist
|
|
if dirisempty /db
|
|
then
|
|
echo "database doesn't exist. creating it..."
|
|
echo
|
|
chmod -R 777 /db
|
|
mariadb-install-db --user=www --datadir=/db
|
|
echo "creating database..."
|
|
DATABASE_PWD="$(cat /run/secrets/database-pwd)"
|
|
if ! [[ "$DATABASE_PWD" =~ ^[a-zA-Z0-9_]+$ ]]
|
|
then
|
|
echo "the DB password must contain only letters, digits or '_'."
|
|
echo
|
|
exit 1
|
|
fi
|
|
echo '
|
|
FLUSH PRIVILEGES;
|
|
CREATE DATABASE wp;
|
|
GRANT ALL PRIVILEGES ON wp.* TO www IDENTIFIED BY "'$DATABASE_PWD'";
|
|
FLUSH PRIVILEGES;
|
|
' | mariadbd -u root --bootstrap
|
|
echo
|
|
echo "database created!"
|
|
echo
|
|
fi
|
|
|
|
echo "to recreate a new database, remove the db volume of this compose."
|
|
echo
|
|
|
|
# run mariadb
|
|
mariadbd -u root
|