Artples commited on
Commit
531671d
·
verified ·
1 Parent(s): 1ffd773

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +22 -3
start.sh CHANGED
@@ -1,30 +1,49 @@
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
  mysqld_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
  CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'localhost' IDENTIFIED BY '${MYSQL_PASSWORD}';
24
  GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'localhost';
 
 
25
  FLUSH PRIVILEGES;
26
  SQL
27
 
 
28
  export MYSQL_HOST=127.0.0.1
29
 
30
- exec /entrypoint.sh "$@"
 
 
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 "$@"