BIENTOT
This commit is contained in:
@@ -1,22 +1,29 @@
|
|||||||
#LISTE DE CHOSE A FAIRE POUR LES PC DE 42
|
PROJECT_NAME=inception
|
||||||
#CHANGER LE PATH en login dans le makefile, dockerfile et docker-compose file
|
DOCKER_COMPOSE=docker-compose
|
||||||
|
DC_FILE=srcs/docker-compose.yml
|
||||||
|
ENV_FILE=srcs/.env
|
||||||
|
|
||||||
all:
|
all: up
|
||||||
sudo mkdir -p /home/yantoine/data/wordpress
|
|
||||||
sudo mkdir -p /home/yantoine/data/mariadb
|
|
||||||
sudo chmod 777 /etc/hosts
|
|
||||||
echo "127.0.0.1 yantoine.42.fr" >> /etc/hosts
|
|
||||||
sudo docker-compose -f srcs/docker-compose.yml up --build -d
|
|
||||||
|
|
||||||
up:
|
up:
|
||||||
sudo docker-compose -f srcs/docker-compose.yml up --build -d
|
@mkdir -p /home/yantoine/data/mariadb
|
||||||
|
@mkdir -p /home/yantoine/data/wordpress
|
||||||
|
@$(DOCKER_COMPOSE) -f $(DC_FILE) --env-file $(ENV_FILE) up -d --build
|
||||||
|
|
||||||
re: fclean all
|
down:
|
||||||
|
@$(DOCKER_COMPOSE) -f $(DC_FILE) --env-file $(ENV_FILE) down
|
||||||
|
|
||||||
|
clean:
|
||||||
|
# Arrête et supprime containers + volumes liés au projet
|
||||||
|
@$(DOCKER_COMPOSE) -f $(DC_FILE) --env-file $(ENV_FILE) down -v --remove-orphans
|
||||||
|
|
||||||
fclean:
|
fclean: clean
|
||||||
sudo docker-compose -f srcs/docker-compose.yml down --rmi all --volumes
|
# Supprime images du projet + system prune + supprime données sur l'hôte
|
||||||
sudo rm -rf /home/yantoine/data
|
@docker image rm -f $(PROJECT_NAME)_wordpress $(PROJECT_NAME)_mariadb $(PROJECT_NAME)_nginx || true
|
||||||
|
@docker system prune -af
|
||||||
|
@rm -rf /home/yantoine/data/mariadb
|
||||||
|
@rm -rf /home/yantoine/data/wordpress
|
||||||
|
|
||||||
.PHONY: all up fclean re
|
re: fclean up
|
||||||
|
|
||||||
|
.PHONY: all up down clean fclean re
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
SQL_DATABASE=mariadb
|
MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
|
||||||
SQL_USER=www-http
|
MYSQL_DATABASE=wordpress
|
||||||
SQL_PASSWORD=vivementlaspe
|
MYSQL_USER_FILE=/run/secrets/db_user
|
||||||
SQL_ROOT_PASSWORD=enorme
|
MYSQL_PASSWORD_FILE=/run/secrets/db_password
|
||||||
|
|
||||||
|
WP_ADMIN_USER_FILE=/run/secrets/wp_admin_user
|
||||||
|
WP_ADMIN_PASSWORD_FILE=/run/secrets/wp_admin_password
|
||||||
|
WP_ADMIN_EMAIL=admin@yantoine.42.fr
|
||||||
DOMAIN_NAME=yantoine.42.fr
|
DOMAIN_NAME=yantoine.42.fr
|
||||||
WP_TITLE=LE_SUPER_SITE
|
|
||||||
WP_ADMIN_USER=leboss
|
|
||||||
WP_ADMIN_PASSWORD=lemecfort
|
|
||||||
WP_ADMIN_EMAIL=leboss@mail.com
|
|
||||||
WP_NORMAL_USER=lestagiaire
|
|
||||||
WP_NORMAL_USER_PASSWORD=rameneuncafe
|
|
||||||
WP_NORMAL_USER_EMAIL=lestagiaire@mail.com
|
|
||||||
|
|||||||
+79
-67
@@ -1,71 +1,83 @@
|
|||||||
version: "3"
|
version: '3.8'
|
||||||
|
|
||||||
networks:
|
services:
|
||||||
inception:
|
mariadb:
|
||||||
driver: bridge
|
build: ./requirements/mariadb
|
||||||
|
container_name: mariadb
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- mariadb_data:/var/lib/mysql
|
||||||
|
- ./tools/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
|
||||||
|
secrets:
|
||||||
|
- db_root_password
|
||||||
|
- db_user
|
||||||
|
- db_password
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
|
||||||
services:
|
wordpress:
|
||||||
nginx:
|
build: ./requirements/wordpress
|
||||||
container_name: nginx
|
container_name: wordpress
|
||||||
image: nginx
|
restart: always
|
||||||
volumes:
|
depends_on:
|
||||||
- wp:/var/www/html
|
- mariadb
|
||||||
networks:
|
volumes:
|
||||||
- inception
|
- wordpress_data:/var/www/html
|
||||||
depends_on:
|
environment:
|
||||||
- wordpress
|
MYSQL_DATABASE: wordpress_db
|
||||||
build:
|
MYSQL_USER_FILE: /run/secrets/db_user
|
||||||
context: ./requirements/nginx
|
MYSQL_PASSWORD_FILE: /run/secrets/db_password
|
||||||
dockerfile: Dockerfile
|
secrets:
|
||||||
env_file: .env
|
- db_root_password
|
||||||
ports:
|
- db_user
|
||||||
- "443:443"
|
- db_password
|
||||||
restart: always
|
- wp_admin_user
|
||||||
|
- wp_admin_password
|
||||||
wordpress:
|
networks:
|
||||||
container_name: wordpress
|
- inception
|
||||||
env_file: .env
|
|
||||||
image: wordpress
|
|
||||||
volumes:
|
|
||||||
- wp:/var/www/html
|
|
||||||
networks:
|
|
||||||
- inception
|
|
||||||
build:
|
|
||||||
context: ./requirements/wordpress
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
depends_on:
|
|
||||||
- mariadb
|
|
||||||
restart: always
|
|
||||||
expose:
|
|
||||||
- "9000"
|
|
||||||
|
|
||||||
mariadb:
|
|
||||||
container_name: mariadb
|
|
||||||
networks:
|
|
||||||
- inception
|
|
||||||
build:
|
|
||||||
context: ./requirements/mariadb
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
image: mariadb
|
|
||||||
env_file: .env
|
|
||||||
volumes:
|
|
||||||
- db:/var/lib/mysql
|
|
||||||
restart: always
|
|
||||||
expose:
|
|
||||||
- "3306"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
wp:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
type: none
|
|
||||||
o: bind
|
|
||||||
device: ${HOME}/data/wp
|
|
||||||
db:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
type: none
|
|
||||||
o: bind
|
|
||||||
device: ${HOME}/data/db
|
|
||||||
|
|
||||||
|
|
||||||
|
nginx:
|
||||||
|
build: ./requirements/nginx
|
||||||
|
container_name: nginx
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- wordpress
|
||||||
|
ports:
|
||||||
|
- "443:443"
|
||||||
|
volumes:
|
||||||
|
- wordpress_data:/var/www/html
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mariadb_data:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: 'none'
|
||||||
|
device: '/home/yantoine/data/mariadb'
|
||||||
|
o: 'bind'
|
||||||
|
wordpress_data:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: 'none'
|
||||||
|
device: '/home/yantoine/data/wordpress'
|
||||||
|
o: 'bind'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
inception:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
db_root_password:
|
||||||
|
file: ./secrets/db_root_password.txt
|
||||||
|
db_user:
|
||||||
|
file: ./secrets/db_user.txt
|
||||||
|
db_password:
|
||||||
|
file: ./secrets/db_password.txt
|
||||||
|
wp_admin_user:
|
||||||
|
file: ./secrets/wp_admin_user.txt
|
||||||
|
wp_admin_password:
|
||||||
|
file: ./secrets/wp_admin_password.txt
|
||||||
|
|||||||
@@ -1,17 +1,11 @@
|
|||||||
FROM debian:bullseye
|
FROM debian:12.5-slim
|
||||||
RUN apt-get update -y && \
|
|
||||||
apt-get upgrade -y && \
|
RUN apt-get update && \
|
||||||
apt-get install -y mariadb-server && \
|
apt-get install -y mariadb-server && \
|
||||||
mkdir -p /var/run/mysqld && \
|
rm -rf /var/lib/apt/lists/*
|
||||||
chown -R mysql:mysql /var/lib/mysql /var/run/mysqld
|
|
||||||
COPY conf/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
||||||
RUN mkdir -p /var/run/mysqld
|
|
||||||
RUN chown -R mysql:mysql /var/lib/mysql /var/run/mysqld
|
|
||||||
COPY ./tools/mariadb.sh /mariadb.sh
|
|
||||||
|
|
||||||
RUN chmod +x /mariadb.sh
|
|
||||||
|
|
||||||
|
COPY conf/my.cnf /etc/mysql/my.cnf
|
||||||
|
COPY init.sql /docker-entrypoint-initdb.d/
|
||||||
EXPOSE 3306
|
EXPOSE 3306
|
||||||
RUN ./mariadb.sh
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/sbin/mysqld"]
|
CMD ["mysqld_safe"]
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
[mysqld]
|
|
||||||
|
|
||||||
user = mysql
|
|
||||||
|
|
||||||
socket = /var/run/mysqld/mysqld.sock
|
|
||||||
|
|
||||||
port = 3306
|
|
||||||
|
|
||||||
datadir = /var/lib/mysql
|
|
||||||
|
|
||||||
key_buffer_size = 16M
|
|
||||||
|
|
||||||
max_allowed_packet = 16M
|
|
||||||
|
|
||||||
log_error = /var/log/mysql/error.log
|
|
||||||
|
|
||||||
character-set-server = utf8mb4
|
|
||||||
|
|
||||||
collation-server = utf8mb4_general_ci
|
|
||||||
|
|
||||||
bind-address = 0.0.0.0
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
[mysqld]
|
||||||
|
bind-address=0.0.0.0
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
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;
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if [ ! -e "/var/lib/mysql/.done" ]; then
|
|
||||||
mysql_install_db --user=mysql --datadir=/var/lib/mysql
|
|
||||||
/usr/sbin/mysqld --skip-networking &
|
|
||||||
|
|
||||||
for i in {50..0}; do
|
|
||||||
if echo 'SELECT 1' | mysql &> /dev/null; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$i" -eq 0 ]; then
|
|
||||||
echo >&2 'MariaDB'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
mysql -u root -e "CREATE DATABASE IF NOT EXISTS $SQL_DATABASE;"
|
|
||||||
|
|
||||||
mysql -u root -e "CREATE USER '$SQL_USER'@'%' IDENTIFIED BY '$SQL_PASSWORD';"
|
|
||||||
|
|
||||||
mysql -u root -e "GRANT ALL ON $SQL_DATABASE.* TO '$SQL_USER'@'%';"
|
|
||||||
|
|
||||||
mysql -u root -e "FLUSH PRIVILEGES;"
|
|
||||||
|
|
||||||
mysql -u root -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$SQL_ROOT_PASSWORD');"
|
|
||||||
|
|
||||||
|
|
||||||
mysqladmin -u root -p$SQL_ROOT_PASSWORD shutdown
|
|
||||||
|
|
||||||
|
|
||||||
touch /var/lib/mysql/.done
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,21 +1,12 @@
|
|||||||
FROM debian:bullseye
|
FROM alpine:3.19
|
||||||
|
|
||||||
RUN apt-get update -y && \
|
RUN apk add --no-cache nginx openssl
|
||||||
apt-get upgrade -y && \
|
|
||||||
apt-get install -y nginx openssl && \
|
|
||||||
mkdir -p /etc/nginx/ssl /var/run/nginx && \
|
|
||||||
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
|
|
||||||
-keyout /etc/ssl/private/server_pkey.pem \
|
|
||||||
-out /etc/nginx/ssl/server.crt \
|
|
||||||
-subj "/C=FR/ST=IDF/L=Paris/O=42/OU=42/CN=yantoine.42.fr/UID=yantoine"
|
|
||||||
|
|
||||||
COPY conf/nginx.conf /etc/nginx/sites-available/nginx.conf
|
COPY conf/default.conf /etc/nginx/http.d/default.conf
|
||||||
|
COPY tools/generate_ssl.sh /tmp/generate_ssl.sh
|
||||||
|
|
||||||
# Suppression du site par défaut et activation de la nouvelle configuration
|
RUN chmod +x /tmp/generate_ssl.sh && /tmp/generate_ssl.sh
|
||||||
RUN rm /etc/nginx/sites-enabled/default && \
|
|
||||||
ln -s /etc/nginx/sites-available/nginx.conf /etc/nginx/sites-enabled/
|
|
||||||
|
|
||||||
EXPOSE 443
|
EXPOSE 443
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name yantoine.42.fr;
|
||||||
|
|
||||||
|
ssl_certificate /etc/ssl/private/yantoine.42.fr.crt;
|
||||||
|
ssl_certificate_key /etc/ssl/private/yantoine.42.fr.key;
|
||||||
|
|
||||||
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
|
|
||||||
|
root /var/www/html;
|
||||||
|
index index.php index.html;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php?$args;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_pass wordpress:9000;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 443 ssl default_server;
|
|
||||||
ssl_certificate /etc/ssl/certs/server.crt;
|
|
||||||
|
|
||||||
ssl_certificate_key /etc/ssl/private/server_pkey.pem;
|
|
||||||
|
|
||||||
root /var/www/html;
|
|
||||||
|
|
||||||
index index.php;
|
|
||||||
|
|
||||||
server_name $DOMAIN_NAME;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ =404;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ \.php$ {
|
|
||||||
# Include the fastcgi-php configuration snippet
|
|
||||||
include snippets/fastcgi-php.conf;
|
|
||||||
|
|
||||||
# Set the SCRIPT_FILENAME parameter to the full path of the requested script
|
|
||||||
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
|
|
||||||
|
|
||||||
# Forward requests to the PHP-FPM service listening on the wordpress host on port 9000
|
|
||||||
fastcgi_pass wordpress:9000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
mkdir -p /etc/ssl/private
|
||||||
|
openssl req -x509 -nodes -days 365 \
|
||||||
|
-subj "/C=FR/ST=Paris/L=Paris/O=42/OU=Login/CN=yantoine.42.fr" \
|
||||||
|
-newkey rsa:2048 \
|
||||||
|
-keyout /etc/ssl/private/yantoine.42.fr.key \
|
||||||
|
-out /etc/ssl/private/yantoine.42.fr.crt
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/
|
|
||||||
!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/
|
|
||||||
!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/
|
|
||||||
!_TAG_FIELD_DESCRIPTION input /input file/
|
|
||||||
!_TAG_FIELD_DESCRIPTION name /tag name/
|
|
||||||
!_TAG_FIELD_DESCRIPTION pattern /pattern/
|
|
||||||
!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
|
|
||||||
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
|
||||||
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Iniconf k,key /keys/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Iniconf s,section /sections/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh a,alias /aliases/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh f,function /functions/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh h,heredoc /label for here document/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh s,script /script files/
|
|
||||||
!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
|
|
||||||
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
|
|
||||||
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
|
|
||||||
!_TAG_OUTPUT_VERSION 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Iniconf 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Sh 0.0 /current.age/
|
|
||||||
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
|
|
||||||
!_TAG_PROC_CWD /home/null/Documents/Inception/srcs/requirements/ //
|
|
||||||
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
|
|
||||||
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
|
|
||||||
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
|
|
||||||
!_TAG_PROGRAM_VERSION 6.1.0 /653ca9204/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Sh!heredoc endmarker /end marker/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Sh!script loaded /loaded/
|
|
||||||
clear_env wordpress/conf/www.conf /^clear_env = no$/;" k section:www
|
|
||||||
group wordpress/conf/www.conf /^group = www-data$/;" k section:www
|
|
||||||
listen wordpress/conf/www.conf /^listen = 0.0.0.0:9000$/;" k section:www
|
|
||||||
max_children wordpress/conf/www.conf /^pm.max_children = 5$/;" k section:www
|
|
||||||
max_spare_servers wordpress/conf/www.conf /^pm.max_spare_servers = 3$/;" k section:www
|
|
||||||
min_spare_servers wordpress/conf/www.conf /^pm.min_spare_servers = 1$/;" k section:www
|
|
||||||
pm wordpress/conf/www.conf /^pm = dynamic$/;" k section:www
|
|
||||||
start_servers wordpress/conf/www.conf /^pm.start_servers = 2$/;" k section:www
|
|
||||||
user wordpress/conf/www.conf /^user = www-data$/;" k section:www
|
|
||||||
www wordpress/conf/www.conf /^[www]$/;" s
|
|
||||||
@@ -1,32 +1,33 @@
|
|||||||
FROM debian:bullseye
|
FROM debian:11
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
mariadb-client \
|
||||||
|
curl \
|
||||||
|
php7.4-fpm \
|
||||||
|
php7.4-mysql \
|
||||||
|
php7.4-cli \
|
||||||
|
php7.4-curl \
|
||||||
|
php7.4-gd \
|
||||||
|
php7.4-mbstring \
|
||||||
|
php7.4-xml \
|
||||||
|
php7.4-zip \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
RUN apt-get update -y && \
|
# Fix: créer le dossier /run/php
|
||||||
apt-get upgrade -y && \
|
RUN mkdir -p /run/php
|
||||||
apt-get install -y php7.4 php-fpm php-cli php-mysql mariadb-client curl
|
|
||||||
|
|
||||||
RUN mkdir /run/php
|
# Fix: forcer php-fpm à écouter sur le port 9000
|
||||||
|
RUN sed -i 's|listen = /run/php/php7.4-fpm.sock|listen = 9000|' /etc/php/7.4/fpm/pool.d/www.conf
|
||||||
RUN mkdir -p /var/www/html/
|
|
||||||
|
|
||||||
RUN chown -R www-data:www-data /var/www/html
|
|
||||||
|
|
||||||
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
|
|
||||||
|
|
||||||
RUN chmod +x wp-cli.phar
|
|
||||||
|
|
||||||
RUN mv wp-cli.phar /usr/local/bin/wp
|
|
||||||
|
|
||||||
COPY www.conf /etc/php/7.4/fpm/pool.d/www.conf
|
|
||||||
|
|
||||||
COPY tools/wordpress.sh /wordpress.sh
|
|
||||||
|
|
||||||
RUN chmod +x /wordpress.sh
|
|
||||||
|
|
||||||
EXPOSE 9000
|
|
||||||
|
|
||||||
WORKDIR /var/www/html
|
WORKDIR /var/www/html
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/bash", "/wordpress.sh"]
|
RUN curl -o wordpress.tar.gz https://wordpress.org/latest.tar.gz && \
|
||||||
|
tar -xzf wordpress.tar.gz --strip-components=1 && \
|
||||||
|
rm wordpress.tar.gz
|
||||||
|
|
||||||
|
COPY conf/wp-config.php /var/www/html/wp-config.php
|
||||||
|
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
CMD ["/usr/sbin/php-fpm7.4", "-F"]
|
CMD ["/usr/sbin/php-fpm7.4", "-F"]
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
define( 'DB_NAME', getenv('MYSQL_DATABASE') );
|
||||||
|
|
||||||
|
define( 'DB_USER', trim(file_get_contents(getenv('MYSQL_USER_FILE'))) );
|
||||||
|
define( 'DB_PASSWORD', trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE'))) );
|
||||||
|
|
||||||
|
define( 'DB_HOST', 'mariadb' );
|
||||||
|
define( 'DB_CHARSET', 'utf8mb4' );
|
||||||
|
define( 'DB_COLLATE', '' );
|
||||||
|
|
||||||
|
$table_prefix = 'wp_';
|
||||||
|
define( 'WP_DEBUG', false );
|
||||||
|
|
||||||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||||||
|
define( 'ABSPATH', __DIR__ . '/' );
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once ABSPATH . 'wp-settings.php';
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
[www]
|
|
||||||
|
|
||||||
user = www-data
|
|
||||||
|
|
||||||
group = www-data
|
|
||||||
|
|
||||||
listen = 0.0.0.0:9000
|
|
||||||
|
|
||||||
listen.owner = www-data
|
|
||||||
|
|
||||||
listen.group = www-data
|
|
||||||
|
|
||||||
pm = dynamic
|
|
||||||
|
|
||||||
pm.max_children = 5
|
|
||||||
|
|
||||||
pm.start_servers = 2
|
|
||||||
|
|
||||||
pm.min_spare_servers = 1
|
|
||||||
|
|
||||||
pm.max_spare_servers = 3
|
|
||||||
|
|
||||||
clear_env = no
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if [ ! -f ./wp-config.php ]; then
|
|
||||||
|
|
||||||
wp core download --allow-root
|
|
||||||
|
|
||||||
|
|
||||||
wp config create --dbname=$SQL_DATABSE --dbuser=$SQL_USER --dbpass=$SQL_PASSWORD --dbhost=mariadb --allow-root
|
|
||||||
|
|
||||||
wp core install --url=$DOMAIN_NAME --title="$WP_TITLE" --admin_user=$WP_ADMIN_USER --admin_password=$WP_ADMIN_PASSWORD --admin_email=$WP_ADMIN_EMAIL --allow-root
|
|
||||||
|
|
||||||
wp user create $WP_NORMAL_USER $WP_NORMAL_USER_EMAIL --user_pass=$WP_NORMAL_USER_PASSWORD --role=author --allow-root
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$@"
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
wp_pass123
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
rootpass123
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
wp_user
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
cbienrelouquandmeme
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
jenpeuxplusdeceprojet
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/
|
|
||||||
!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/
|
|
||||||
!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/
|
|
||||||
!_TAG_FIELD_DESCRIPTION input /input file/
|
|
||||||
!_TAG_FIELD_DESCRIPTION name /tag name/
|
|
||||||
!_TAG_FIELD_DESCRIPTION pattern /pattern/
|
|
||||||
!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
|
|
||||||
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
|
||||||
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Iniconf k,key /keys/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Iniconf s,section /sections/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh a,alias /aliases/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh f,function /functions/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh h,heredoc /label for here document/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh s,script /script files/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Yaml a,anchor /anchors/
|
|
||||||
!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
|
|
||||||
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
|
|
||||||
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
|
|
||||||
!_TAG_OUTPUT_VERSION 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Iniconf 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Sh 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Yaml 0.0 /current.age/
|
|
||||||
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
|
|
||||||
!_TAG_PROC_CWD /home/null/Documents/Inception/srcs/ //
|
|
||||||
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
|
|
||||||
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
|
|
||||||
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
|
|
||||||
!_TAG_PROGRAM_VERSION 6.1.0 /653ca9204/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Sh!heredoc endmarker /end marker/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Sh!script loaded /loaded/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Yaml!anchor alias /alias/
|
|
||||||
clear_env requirements/wordpress/conf/www.conf /^clear_env = no$/;" k section:www
|
|
||||||
group requirements/wordpress/conf/www.conf /^group = www-data$/;" k section:www
|
|
||||||
listen requirements/wordpress/conf/www.conf /^listen = 0.0.0.0:9000$/;" k section:www
|
|
||||||
max_children requirements/wordpress/conf/www.conf /^pm.max_children = 5$/;" k section:www
|
|
||||||
max_spare_servers requirements/wordpress/conf/www.conf /^pm.max_spare_servers = 3$/;" k section:www
|
|
||||||
min_spare_servers requirements/wordpress/conf/www.conf /^pm.min_spare_servers = 1$/;" k section:www
|
|
||||||
pm requirements/wordpress/conf/www.conf /^pm = dynamic$/;" k section:www
|
|
||||||
start_servers requirements/wordpress/conf/www.conf /^pm.start_servers = 2$/;" k section:www
|
|
||||||
user requirements/wordpress/conf/www.conf /^user = www-data$/;" k section:www
|
|
||||||
www requirements/wordpress/conf/www.conf /^[www]$/;" s
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/
|
|
||||||
!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/
|
|
||||||
!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/
|
|
||||||
!_TAG_FIELD_DESCRIPTION input /input file/
|
|
||||||
!_TAG_FIELD_DESCRIPTION name /tag name/
|
|
||||||
!_TAG_FIELD_DESCRIPTION pattern /pattern/
|
|
||||||
!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
|
|
||||||
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
|
||||||
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Iniconf k,key /keys/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Iniconf s,section /sections/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Make I,makefile /makefiles/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Make m,macro /macros/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Make t,target /targets/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh a,alias /aliases/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh f,function /functions/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh h,heredoc /label for here document/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Sh s,script /script files/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Yaml a,anchor /anchors/
|
|
||||||
!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
|
|
||||||
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
|
|
||||||
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
|
|
||||||
!_TAG_OUTPUT_VERSION 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Iniconf 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Make 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Sh 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Yaml 0.0 /current.age/
|
|
||||||
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
|
|
||||||
!_TAG_PROC_CWD /home/null/Documents/Inception/ //
|
|
||||||
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
|
|
||||||
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
|
|
||||||
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
|
|
||||||
!_TAG_PROGRAM_VERSION 6.1.0 /653ca9204/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Make!makefile included /included/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Make!makefile optional /optionally included/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Sh!heredoc endmarker /end marker/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Sh!script loaded /loaded/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Yaml!anchor alias /alias/
|
|
||||||
all Makefile /^all:$/;" t
|
|
||||||
clear_env srcs/requirements/wordpress/conf/www.conf /^clear_env = no$/;" k section:www
|
|
||||||
fclean Makefile /^fclean:$/;" t
|
|
||||||
group srcs/requirements/wordpress/conf/www.conf /^group = www-data$/;" k section:www
|
|
||||||
listen srcs/requirements/wordpress/conf/www.conf /^listen = 0.0.0.0:9000$/;" k section:www
|
|
||||||
max_children srcs/requirements/wordpress/conf/www.conf /^pm.max_children = 5$/;" k section:www
|
|
||||||
max_spare_servers srcs/requirements/wordpress/conf/www.conf /^pm.max_spare_servers = 3$/;" k section:www
|
|
||||||
min_spare_servers srcs/requirements/wordpress/conf/www.conf /^pm.min_spare_servers = 1$/;" k section:www
|
|
||||||
pm srcs/requirements/wordpress/conf/www.conf /^pm = dynamic$/;" k section:www
|
|
||||||
start_servers srcs/requirements/wordpress/conf/www.conf /^pm.start_servers = 2$/;" k section:www
|
|
||||||
up Makefile /^up:$/;" t
|
|
||||||
user srcs/requirements/wordpress/conf/www.conf /^user = www-data$/;" k section:www
|
|
||||||
www srcs/requirements/wordpress/conf/www.conf /^[www]$/;" s
|
|
||||||
Reference in New Issue
Block a user