feat(inception imporing stuff (come back on the subject)
This commit is contained in:
parent
b20e81b0fe
commit
778e1a9056
6 changed files with 64 additions and 14 deletions
22
Makefile
22
Makefile
|
|
@ -6,7 +6,7 @@
|
||||||
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2025/06/12 18:09:23 by rparodi #+# #+# #
|
# Created: 2025/06/12 18:09:23 by rparodi #+# #+# #
|
||||||
# Updated: 2025/06/14 18:26:21 by rparodi ### ########.fr #
|
# Updated: 2025/06/17 00:07:38 by rparodi ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
|
@ -92,14 +92,16 @@ fclean: clean
|
||||||
|
|
||||||
re: header fclean all footer
|
re: header fclean all footer
|
||||||
|
|
||||||
setup_vm:
|
setup_vm: header
|
||||||
echo "127.0.0.1 rparodi.42.fr" | sudo tee -a /etc/hosts &> /dev/null
|
@echo "127.0.0.1 rparodi.42.fr" | sudo tee -a /etc/hosts &> /dev/null
|
||||||
@printf "$(GREY)Adding the custom host $(GREEN)rparodi.42.fr$(END)\n"; \
|
@printf "$(GREY)Adding the custom host $(GREEN)rparodi.42.fr$(END)\n";
|
||||||
sudo $(PACK_MAN) docker docker-compose docker-buildx
|
@sudo $(PACK_MAN) docker docker-compose docker-buildx &> /dev/null
|
||||||
@printf "$(GREY)Install the $(GREEN)docker docker-compose docker-buildx packages$(END)\n"; \
|
@printf "$(GREY)Install the $(GREEN)docker docker-compose docker-buildx packages$(END)\n";
|
||||||
sudo usermod -aG docker $(shell whoami)
|
@sudo usermod -aG docker $(shell whoami)
|
||||||
@printf "$(GREY)User add to the $(GOLD)docker's group$(END)\n"; \
|
@printf "$(GREY)User add to the $(GREEN)docker's group$(END)\n";
|
||||||
@printf "$(GREY)Virtual Machine now $(GOLD)setuped$(END)\n"; \
|
@printf "$(GREY)Virtual Machine now $(GOLD)setuped$(END)\n";
|
||||||
|
|
||||||
|
setup: setup_vm
|
||||||
|
|
||||||
# Header
|
# Header
|
||||||
header:
|
header:
|
||||||
|
|
@ -133,4 +135,4 @@ footer:
|
||||||
@printf ' $(GREY)The build is $(GOLD)finished$(END)\n $(GREY)Have a good $(GOLD)evaluation !$(END)\n'
|
@printf ' $(GREY)The build is $(GOLD)finished$(END)\n $(GREY)Have a good $(GOLD)evaluation !$(END)\n'
|
||||||
|
|
||||||
# Phony
|
# Phony
|
||||||
.PHONY: all nginx mariadb wordpress get_secret clean fclean re
|
.PHONY: all nginx mariadb wordpress get_secret clean fclean re setup setup_vm
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,15 @@
|
||||||
FROM alpine:3.21
|
FROM alpine:3.21
|
||||||
|
|
||||||
RUN apk update && apk add mariadb mariadb-client
|
RUN apk update && apk add mariadb mariadb-client bash
|
||||||
|
|
||||||
|
RUN mkdir -p /run/mysqld && chown -R mysql:mysql /run/mysqld
|
||||||
|
|
||||||
|
HEALTHCHECK --start-period=5m CMD mariadb -e 'SELECT @@datadir;' || exit 1
|
||||||
|
|
||||||
|
RUN mysql_install_db --user=$DB_USER --basedir=/usr --datadir=/var/lib/mysql
|
||||||
|
|
||||||
|
USER mysql
|
||||||
|
|
||||||
EXPOSE 3306
|
EXPOSE 3306
|
||||||
|
|
||||||
|
CMD ["mariadbd"]
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@ RUN chmod +x /usr/bin/generate_ssl_certificate
|
||||||
|
|
||||||
RUN /usr/bin/generate_ssl_certificate
|
RUN /usr/bin/generate_ssl_certificate
|
||||||
|
|
||||||
USER nginx
|
|
||||||
|
|
||||||
EXPOSE 443
|
EXPOSE 443
|
||||||
|
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ END = \033[0m
|
||||||
|
|
||||||
if [ ! -f "$CERT_DIR/nginx.key" ]; then
|
if [ ! -f "$CERT_DIR/nginx.key" ]; then
|
||||||
@printf '$GREYGenerating the ssl$GREEN Certificate$END\n';
|
@printf '$GREYGenerating the ssl$GREEN Certificate$END\n';
|
||||||
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt -subj "/C=FR/ST=Paris/L=42/O=Students/OU=Inception/CN=rparodi.42.fr"
|
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt -subj "/C=FR/ST=Paris/L=42/O=Students/OU=Inception/CN=$DOMAIN"
|
||||||
else
|
else
|
||||||
@printf '$GREYGenerating the ssl certificate$RED already exist$END\n';
|
@printf '$GREYGenerating the ssl certificate$RED already exist$END\n';
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
FROM alpine:3.21
|
||||||
|
|
||||||
|
RUN apk update && apk add bash wget php82 php82-phar php82-mysqli php82-fpm mariadb-client
|
||||||
|
|
||||||
|
# RUN wget https://wordpress.org/latest.tar.gz -O /tmp/wp.tar.gz
|
||||||
|
|
||||||
|
RUN mkdir -p /var/www/html
|
||||||
|
|
||||||
|
RUN wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /bin/wp-cli.phar;
|
||||||
|
RUN chmod +x /bin/wp-cli.phar;
|
||||||
|
RUN mv /bin/wp-cli.phar /bin/wp;
|
||||||
|
|
||||||
|
RUN ln -s /usr/bin/php82 /usr/bin/php;
|
||||||
|
RUN ln -s /usr/sbin/php-fpm82 /usr/sbin/php-fpm;
|
||||||
|
RUN export PHP_OPTIONS="-d memory_limit=512M"
|
||||||
|
|
||||||
|
COPY tools/install.sh /usr/bin/install-wp
|
||||||
|
|
||||||
|
RUN chmod +x /usr/bin/install-wp
|
||||||
|
|
||||||
|
CMD ["install-wp", "php-fpm"]
|
||||||
19
srcs/requirements/wordpress/tools/install.sh
Normal file
19
srcs/requirements/wordpress/tools/install.sh
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
mariadb-admin --host=mariadb --port=3306 --user="$DB_USER" --password="$DB_PASS" --wait status
|
||||||
|
|
||||||
|
if ! [ -f wp-load.php ]; then
|
||||||
|
wp core download --locale=fr_FR --allow-root --path=/var/www/html
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -f wp-config.php ]; then
|
||||||
|
wp config create --dbname=$DB_NAME --dbuser=$DB_USER --dbpass=$DB_PASSWORD --dbhost=$DB_HOST --skip-check --path=/var/www/html --allow-root
|
||||||
|
wp core install --url=$DOMAIN --title=$WP_TITLE --admin_user=$WP_ADMIN --admin_password=$WP_PASS_ADMIN --admin_email=$WP_MAIL_ADMIN --skip-email --path=/var/www/html --allow-root
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown wordpress:wordpress -R /var/www/html
|
||||||
|
chmod -R +rw /var/www/html
|
||||||
|
|
||||||
|
exec php-fpm --nodeamonize
|
||||||
Loading…
Add table
Add a link
Reference in a new issue