Skip to content

Latest commit

 

History

History
102 lines (76 loc) · 3.6 KB

File metadata and controls

102 lines (76 loc) · 3.6 KB

🌐 Inception - Multi-Container Virtualization

Docker Nginx MariaDB WordPress Redis


A high-performance, containerized web infrastructure built from scratch using Docker and Docker Compose. This project implements a fully managed environment with a reverse proxy, content management system, relational database, caching layer, and advanced management tools.


✨ Features

  • 🛡️ Secure Gateway: Nginx reverse proxy with TLS v1.2/v1.3 SSL termination.
  • 📰 Dynamic CMS: WordPress optimized with PHP-FPM.
  • 🗃️ Persistent Storage: MariaDB database with dedicated volumes.
  • ⚡ Performance Caching: Redis integration for WordPress object caching.
  • 🛠️ Management Suite: Adminer for DB management and Portainer for Docker orchestration.
  • 📂 File Access: FTP server providing direct access to the web root.
  • 🧱 Bonus Static App: A lightweight, dedicated service for secondary content.

🏛️ Architecture

The system operates on a private inception-docker-network, ensuring isolated communication between services.

graph LR
    A[Client] -->|HTTPS| B(Nginx)
    subgraph "Inception Stack"
        B -->|FastCGI| C(WordPress)
        B -->|Proxy| D(Adminer)
        B -->|Proxy| E(Portainer)
        C -->|SQL| F[(MariaDB)]
        C -->|Redis| G[(Redis)]
        H(FTP) -.->|Volume| C
    end
Loading

🛠️ Quick Start

1. Prerequisites

  • Docker & Docker Compose
  • make utility
  • Linux environment (preferred) or macOS

2. Setup Configuration

Copy the environment template and configure your credentials:

cp srcs/.env.example srcs/.env
# Edit srcs/.env with your preferred values

3. Launch the Stack

make up

4. Domain Resolution

Add the following to your /etc/hosts file (macOS/Linux):

127.0.0.1 zel-bouz.42.fr
127.0.0.1 adminer.zel-bouz.42.fr
127.0.0.1 docs.zel-bouz.42.fr
127.0.0.1 logs.zel-bouz.42.fr

🔗 Service Access

Service Protocol/Port Access URL
Main Site HTTPS (443) https://zel-bouz.42.fr
Adminer HTTPS (443) https://adminer.zel-bouz.42.fr
Portainer HTTPS (443) https://logs.zel-bouz.42.fr
Static App HTTPS (443) https://docs.zel-bouz.42.fr
FTP FTP (21) ftp://zel-bouz.42.fr

📖 Deep Dive

For more detailed information, please refer to the following guides:


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

Developed as part of the 42 Network Curriculum.