Inception is a system administration and Docker-based infrastructure project from the 1337/42 school curriculum. The goal is to set up a secure and scalable containerized system using Docker and Docker Compose.
The project consists of setting up a full infrastructure composed of several services, each running in its own container:
- Nginx: Web server with SSL using self-signed certificates
- MariaDB: Database service
- WordPress: CMS connected to the database
All of these services are managed through Docker Compose and must follow a strict structure of using your own Dockerfiles (no pulling pre-built images).
inception/
βββ srcs/
β βββ requirements/
β β βββ nginx/
β β β βββ Dockerfile
β β βββ wordpress/
β β β βββ Dockerfile
β β βββ mariadb/
β β β βββ Dockerfile
β β βββ ...
β βββ .env
β βββ docker-compose.yml
βββ README.md
- Each service runs in its own container.
- Containers are built from scratch using your own Dockerfiles.
- Use Docker volumes for persistent data (WordPress, MariaDB, etc).
- Use Docker Compose v3.8+ to manage multi-container deployment.
- The WordPress site must be accessible via HTTPS (SSL with self-signed certs).
- No root user inside containers.
- The infrastructure must restart correctly if rebooted.
Note: Make sure you have Docker and Docker Compose installed.
# Clone the repository
git clone https://github.com/ayyoubkatfi/inception.git
cd inception/srcs
# Build and run the infrastructure
docker compose up --build