diff --git a/Makefile b/Makefile index a71c440..f220a40 100644 --- a/Makefile +++ b/Makefile @@ -4,12 +4,13 @@ all: docker-compose -f srcs/docker-compose.yml up --build -d down: - docker-compose -f srcs/docker-compose.yml down + docker-compose -f srcs/docker-compose.yml down re: down all -prune: +prune: down docker system prune -a --volumes + docker volume rm srcs_db srcs_wp rm -rf /home/yantoine/data/db rm -rf /home/yantoine/data/wp diff --git a/srcs/.env b/srcs/.env index 7d63093..5fa89f1 100644 --- a/srcs/.env +++ b/srcs/.env @@ -2,4 +2,4 @@ DOMAIN_NAME=yantoine.42.fr MYSQL_USER=yantoine MYSQL_PASSWORD=password MYSQL_DATABASE=wordpress -MYSQL_ROOT_PASSWORD=rootpassword +MYSQL_ROOT_PASSWORD=rootpass diff --git a/srcs/requirements/mariadb/Dockerfile b/srcs/requirements/mariadb/Dockerfile index b3a842e..856b7dd 100644 --- a/srcs/requirements/mariadb/Dockerfile +++ b/srcs/requirements/mariadb/Dockerfile @@ -3,10 +3,15 @@ FROM debian:12.5-slim RUN apt-get update && apt-get install -y mariadb-server && rm -rf /var/lib/apt/lists/* RUN mkdir -p /run/mysqld && chown -R mysql:mysql /var/lib/mysql /run/mysqld -COPY tools/init.sh /docker-entrypoint-initdb.d/init.sh -RUN chmod +x /docker-entrypoint-initdb.d/init.sh +COPY tools/init.sh /init.sh +RUN chmod +x /init.sh + +ENV MYSQL_ROOT_PASSWORD=rootpassword +ENV MYSQL_DATABASE=wordpress +ENV MYSQL_USER=yantoine +ENV MYSQL_PASSWORD=password -USER mysql EXPOSE 3306 -CMD ["mysqld"] +CMD ["/init.sh"] + diff --git a/srcs/requirements/mariadb/tools/init.sh b/srcs/requirements/mariadb/tools/init.sh index 1af324d..3596eb9 100644 --- a/srcs/requirements/mariadb/tools/init.sh +++ b/srcs/requirements/mariadb/tools/init.sh @@ -1,6 +1,10 @@ #!/bin/sh -mysql_install_db --user=mysql --ldata=/var/lib/mysql -mysqld --user=mysql --bootstrap << EOF + +# Initialisation de la base de données si elle n'existe pas +if [ ! -d "/var/lib/mysql/mysql" ]; then + echo "Initialisation de la base de données..." + + mysqld --user=mysql --bootstrap << EOF FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'; CREATE DATABASE IF NOT EXISTS ${MYSQL_DATABASE}; @@ -8,3 +12,10 @@ CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}'; GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%'; FLUSH PRIVILEGES; EOF + +else + echo "Base de données déjà initialisée." +fi + +exec mysqld_safe --user=mysql +