#!/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}