-
Notifications
You must be signed in to change notification settings - Fork 1
Problem
Based on version 3 subject (updated in 2024) of École 42's common core project,
Inception's construction parameters and objectives are as follows:
-
Set up a small infrastructure composed of different services under specific rules, all within a virtual machine, using Docker and Docker Compose.
-
Create and configure Docker containers: Each service must run in a dedicated container, and containers must be built from the penultimate stable version of Alpine or Debian. Each Docker image must be built using your own Dockerfiles, and services such as DockerHub must not be used (excluding Alpine/Debian).
-
Ensure that your containers can restart in case of a crash, avoiding the use of infinite loops or hacky patches like
tail -f,bash,sleep infinity, orwhile truecommands. -
Implement a NGINX container that supports only TLSv1.2 or TLSv1.3 protocols and serves as the only entrypoint into your infrastructure via port 443.
-
Configure a WordPress container with php-fpm, ensuring it runs without NGINX, and set up a MariaDB container, both without NGINX.
-
Set up volumes for the WordPress database and WordPress website files, and configure a Docker network to establish connections between containers.
-
Secure sensitive information by ensuring no passwords are present in your Dockerfiles and using environment variables stored in a
.envfile and Docker secrets to handle any confidential information. -
Ensure the containers' logs and data are stored in the
/home/login/datadirectory on the host machine. -
Configure your domain name to point to your local IP address, ensuring the domain follows the format
login.42.fr. -
Prohibit the use of the latest tag and ensure that the administrator's username in the WordPress database does not contain terms like
admin,administrator, or similar variations. -
Submit the project correctly by ensuring all files are in the proper directories and that all dynamic memory allocations are correctly freed to avoid memory leaks.