Infrastructure as Code - Containerized LEMP stack with Docker Compose orchestration. Built from scratch during 42 School (2023), updated for 2025 compatibility.
Multi-container microservices with custom Dockerfiles:
- NGINX - SSL termination, reverse proxy
- WordPress - PHP-FPM, automated WP-CLI deployment
- MariaDB - Persistent database layer
┌─────────┐ ┌─────────────┐ ┌──────────┐
│ NGINX │───▶│ WordPress │───▶│ MariaDB │
│ :443 │ │ :9000 │ │ :3306 │
└─────────┘ └─────────────┘ └──────────┘
Service mesh with Docker networking, automated CI/CD pipeline via Makefile.
# Configuration
cp srcs/.env.example srcs/.env
# Edit .env with your domain and credentials
# DNS setup (for VM environment)
echo "127.0.0.1 your-domain.42.fr" | sudo tee -a /etc/hosts
# Deploy
makeSite available at https://your-domain.42.fr
- Container orchestration - Docker Compose multi-service deployment
- SSL/TLS - Production-grade HTTPS with certificate automation
- Infrastructure automation - One-command deployment pipeline
- Microservices - Service isolation with Docker networking
- Configuration management - Environment-driven secrets
├── Makefile # Orchestration commands
├── srcs/
│ ├── docker-compose.yml # Service definitions
│ ├── .env.example # Configuration template
│ └── requirements/
│ ├── nginx/ # Custom NGINX + SSL
│ ├── wordpress/ # PHP-FPM + WP-CLI
│ └── mariadb/ # Database + init scripts
make # Deploy stack
make down # Stop services
make clean # Remove containers
make fclean # Full reset
make logs # View output- Platform - Virtual machine deployment, Linux containers
- Base - Debian Bullseye, Docker Compose V2
- Security - TLS 1.2/1.3, network segmentation
- DevOps - GitOps workflow, environment configuration
Built to demonstrate containerization, orchestration, and DevOps automation practices.