Update start.sh
Browse files
start.sh
CHANGED
|
@@ -1,49 +1,35 @@
|
|
| 1 |
#!/usr/bin/env bash
|
| 2 |
set -euo pipefail
|
| 3 |
|
| 4 |
-
|
| 5 |
: "${MYSQL_DATABASE:?Set MYSQL_DATABASE}"
|
| 6 |
: "${MYSQL_USER:?Set MYSQL_USER}"
|
| 7 |
: "${MYSQL_PASSWORD:?Set MYSQL_PASSWORD}"
|
| 8 |
|
| 9 |
-
|
| 10 |
mkdir -p /run/mysqld
|
| 11 |
chown -R mysql:mysql /run/mysqld
|
| 12 |
|
| 13 |
-
|
| 14 |
if [ ! -d /var/lib/mysql/mysql ]; then
|
| 15 |
-
mariadb-install-db --user=mysql --datadir=/var/lib/mysql > /dev/null
|
| 16 |
fi
|
| 17 |
|
| 18 |
-
|
| 19 |
-
mysqld_safe --datadir=/var/lib/mysql --bind-address=127.0.0.1 &
|
| 20 |
-
|
| 21 |
|
| 22 |
until mariadb-admin ping --silent > /dev/null 2>&1; do
|
| 23 |
-
sleep 1
|
| 24 |
done
|
| 25 |
|
| 26 |
-
|
| 27 |
mariadb -uroot <<SQL
|
| 28 |
CREATE DATABASE IF NOT EXISTS \`${MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
| 29 |
|
| 30 |
-
|
| 31 |
-
-- Nextcloud connects via TCP to 127.0.0.1; in MariaDB, 'localhost' and '127.0.0.1' are different hosts.
|
| 32 |
-
-- Grant to '%' (still safe here because the server binds only to 127.0.0.1) so local TCP connections work.
|
| 33 |
CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';
|
| 34 |
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%';
|
| 35 |
|
| 36 |
-
|
| 37 |
-
-- Optional: keep an explicit localhost account as well
|
| 38 |
CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'localhost' IDENTIFIED BY '${MYSQL_PASSWORD}';
|
| 39 |
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'localhost';
|
| 40 |
|
| 41 |
-
|
| 42 |
FLUSH PRIVILEGES;
|
| 43 |
SQL
|
| 44 |
|
| 45 |
-
|
| 46 |
export MYSQL_HOST=127.0.0.1
|
| 47 |
|
| 48 |
-
|
| 49 |
-
exec /entrypoint.sh "$@"
|
|
|
|
| 1 |
#!/usr/bin/env bash
|
| 2 |
set -euo pipefail
|
| 3 |
|
|
|
|
| 4 |
: "${MYSQL_DATABASE:?Set MYSQL_DATABASE}"
|
| 5 |
: "${MYSQL_USER:?Set MYSQL_USER}"
|
| 6 |
: "${MYSQL_PASSWORD:?Set MYSQL_PASSWORD}"
|
| 7 |
|
|
|
|
| 8 |
mkdir -p /run/mysqld
|
| 9 |
chown -R mysql:mysql /run/mysqld
|
| 10 |
|
|
|
|
| 11 |
if [ ! -d /var/lib/mysql/mysql ]; then
|
| 12 |
+
mariadb-install-db --user=mysql --datadir=/var/lib/mysql > /dev/null
|
| 13 |
fi
|
| 14 |
|
| 15 |
+
mariadbd-safe --datadir=/var/lib/mysql --bind-address=127.0.0.1 &
|
|
|
|
|
|
|
| 16 |
|
| 17 |
until mariadb-admin ping --silent > /dev/null 2>&1; do
|
| 18 |
+
sleep 1
|
| 19 |
done
|
| 20 |
|
|
|
|
| 21 |
mariadb -uroot <<SQL
|
| 22 |
CREATE DATABASE IF NOT EXISTS \`${MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
| 23 |
|
|
|
|
|
|
|
|
|
|
| 24 |
CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';
|
| 25 |
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%';
|
| 26 |
|
|
|
|
|
|
|
| 27 |
CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'localhost' IDENTIFIED BY '${MYSQL_PASSWORD}';
|
| 28 |
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'localhost';
|
| 29 |
|
|
|
|
| 30 |
FLUSH PRIVILEGES;
|
| 31 |
SQL
|
| 32 |
|
|
|
|
| 33 |
export MYSQL_HOST=127.0.0.1
|
| 34 |
|
| 35 |
+
exec /entrypoint.sh "$@"
|
|
|