Inception is a project of 42 school.
The goal is to build a complete web infrastructure using Docker and Docker Compose, with multiple containerized services working together. This project demonstrates mastery of containerization, networking, SSL configuration, and DevOps best practices.
The infrastructure consists of:
- NGINX as a reverse proxy with TLS/SSL encryption
- WordPress with PHP-FPM for content management
- MariaDB as the database backend
✅ Multi-container architecture with Docker Compose
✅ NGINX reverse proxy with HTTPS/TLS (self-signed certificates)
✅ WordPress installation automated via WP-CLI
✅ MariaDB database with secure configuration
✅ Isolated Docker network for inter-service communication
✅ Persistent volumes for database and WordPress data
✅ Environment variables for secure credential management
✅ Automated deployment with Makefile
✅ Custom domain support (agerbaud.42.fr)
1. Clone the repository
git clone git@github.com:qxxel/Inception.git2. Access the directory
cd Inception1. Create directories for volumes
mkdir -p /home/$USER/data/mariadb;
mkdir -p /home/$USER/data/wordpress2. Compile to launch the project
makeThis command will call the Makefile, that launch the command docker compose. After the build of images, you can access https://localhost:443 on your browser.
📂 Inception
┣ 📂 srcs → sources files
┃ ┣ 📂 requirements → requirements of the project
┃ ┃ ┣ 📂 requirements → files for mariadb image
┃ ┃ ┣ 📂 nginx → files for nginx image
┃ ┃ ┣ 📂 wordpress → files for wordpress image
┃ ┣ .env
┃ ┗ docker-compose.yml
┣ .gitignore
┣ Makefile
┗ README.md
- Axel – GitHub
- 42 student - login: agerbaud