mirror of
https://git.myvelabs.com/docker/myvemail.git
synced 2025-12-18 21:16:20 +00:00
64 lines
1.7 KiB
Bash
64 lines
1.7 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Exit if any errors pop up
|
||
|
|
set -e
|
||
|
|
|
||
|
|
# Remove sock
|
||
|
|
rm -f /run/mysqld/mysqld.sock
|
||
|
|
|
||
|
|
# Abort if setup hasn't been completed yet
|
||
|
|
if [ ! -d /var/lib/mysql/mysql/ ]
|
||
|
|
then
|
||
|
|
echo "MariaDB does not appear to be properly installed. Exiting..."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Function to wait for temporary mariadb to be ready
|
||
|
|
function wait_for_mariadb_start
|
||
|
|
{
|
||
|
|
# Start mariadb
|
||
|
|
mariadbd-safe --user=root --datadir=/var/lib/mysql/ &
|
||
|
|
until mariadb --user=root --database=mysql -e "show tables;" >/dev/null
|
||
|
|
do
|
||
|
|
sleep 1
|
||
|
|
done
|
||
|
|
}
|
||
|
|
# Function to wait for mariadb to fully exit
|
||
|
|
function wait_for_mariadb_stop
|
||
|
|
{
|
||
|
|
mariadb --user=root -e "shutdown;"
|
||
|
|
until ! mariadb --user=root --database=mysql -e "show tables;" >/dev/null
|
||
|
|
do
|
||
|
|
sleep 1
|
||
|
|
done
|
||
|
|
}
|
||
|
|
|
||
|
|
# Roundcube database
|
||
|
|
if [ ! -d /var/lib/mysql/${MYVEMAIL_ROUNDCUBE_DBNAME}/ ]
|
||
|
|
then
|
||
|
|
wait_for_mariadb_start
|
||
|
|
|
||
|
|
mariadb -u root <<- ROUNDCUBE
|
||
|
|
CREATE DATABASE ${MYVEMAIL_ROUNDCUBE_DBNAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
|
|
GRANT ALL PRIVILEGES ON ${MYVEMAIL_ROUNDCUBE_DBNAME}.* TO '${MYVEMAIL_ROUNDCUBE_DBUSER}'@'localhost' IDENTIFIED BY '${MYVEMAIL_ROUNDCUBE_DBPASS}';
|
||
|
|
flush privileges;
|
||
|
|
ROUNDCUBE
|
||
|
|
mariadb ${MYVEMAIL_ROUNDCUBE_DBNAME} </usr/share/webapps/roundcube/SQL/mysql.initial.sql
|
||
|
|
|
||
|
|
wait_for_mariadb_stop
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Postfixadmin database
|
||
|
|
if [ ! -d /var/lib/mysql/${MYVEMAIL_POSTFIXADMIN_DBNAME}/ ]
|
||
|
|
then
|
||
|
|
wait_for_mariadb_start
|
||
|
|
mariadb -u root <<- POSTFIXADMIN
|
||
|
|
CREATE DATABASE ${MYVEMAIL_POSTFIXADMIN_DBNAME};
|
||
|
|
GRANT ALL PRIVILEGES ON ${MYVEMAIL_POSTFIXADMIN_DBNAME}.* to '${MYVEMAIL_POSTFIXADMIN_DBUSER}'@'localhost' IDENTIFIED BY '${MYVEMAIL_POSTFIXADMIN_DBPASS}';
|
||
|
|
flush privileges;
|
||
|
|
POSTFIXADMIN
|
||
|
|
|
||
|
|
wait_for_mariadb_stop
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Start mariadb
|
||
|
|
mariadbd --user=root --datadir=/var/lib/mysql/ &
|