This commit is contained in:
H3XploR
2025-07-08 01:08:28 +02:00
parent 2117ce50f4
commit 40328d2980
30 changed files with 246 additions and 213 deletions
+9 -13
View File
@@ -1,16 +1,12 @@
FROM debian:12.5-slim
FROM alpine:3.20
RUN apt-get update && \
apt-get install -y mariadb-server && \
rm -rf /var/lib/apt/lists/*
RUN apk update && \
apk add --no-cache mariadb mariadb-client bash && \
mkdir -p /run/mysqld && chown -R mysql:mysql /run/mysqld /var/lib/mysql
# Copie du script d'initialisation
COPY tools/init-db.sh /docker-entrypoint-initdb.d/init-db.sh
RUN chmod +x /docker-entrypoint-initdb.d/init-db.sh
EXPOSE 3306
COPY conf/my.cnf /etc/mysql/my.cnf
COPY init.sh /docker-entrypoint-initdb.d/init.sh
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh /docker-entrypoint-initdb.d/init.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["mysqld"]
-2
View File
@@ -1,2 +0,0 @@
[mysqld]
bind-address=0.0.0.0
-30
View File
@@ -1,30 +0,0 @@
#!/bin/bash
set -e
# Démarre MariaDB en arrière-plan pour l'initialisation
mysqld_safe --skip-networking &
sleep 5
# Vérifie si la DB est déjà initialisée
if [ ! -d "/var/lib/mysql/mysql" ]; then
echo "=> Initializing database..."
mysql_install_db --user=mysql --ldata=/var/lib/mysql
echo "=> Running init scripts..."
for f in /docker-entrypoint-initdb.d/*; do
case "$f" in
*.sh) echo "Running $f"; . "$f" ;;
*.sql) echo "Running $f"; mysql -u root < "$f" ;;
*) echo "Ignoring $f" ;;
esac
done
echo "=> Initialization done."
fi
# Stop MariaDB safe mode
mysqladmin -u root shutdown
# Redémarre MariaDB en mode normal
exec mysqld_safe
-14
View File
@@ -1,14 +0,0 @@
#!/bin/bash
set -e
echo "=> Creating WordPress database and user..."
mysql -u root <<EOF
CREATE DATABASE IF NOT EXISTS wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'wp_user'@'%' IDENTIFIED BY 'wp_pass123';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'%';
FLUSH PRIVILEGES;
EOF
echo "=> WordPress database and user created!"
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh
set -eu
echo "Initialisation de la base de données…"
# Création de la base et de l'utilisateur
cat <<-EOSQL > /tmp/init.sql
CREATE DATABASE IF NOT EXISTS \`${MYSQL_DATABASE}\`;
CREATE USER IF NOT EXISTS '\${MYSQL_USER}'@'%' IDENTIFIED BY '\$(cat /run/secrets/db_password)';
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '\${MYSQL_USER}'@'%';
FLUSH PRIVILEGES;
EOSQL
mysql -u root -p"$(cat /run/secrets/db_root_password)" < /tmp/init.sql
rm /tmp/init.sql