Skip to content

Latest commit

 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project has been created as part of the 42 curriculum by .

Inception

Description

Inception is a system administration and DevOps project focused on building a complete web infrastructure using Docker and Docker Compose. The goal of the project is to design, configure, and deploy a multi-service stack where each service runs in its own container, following best practices in isolation, security, and persistence. The project includes a WordPress website served via NGINX, backed by a MariaDB database, along with additional services such as Redis caching, FTP access, Adminer, a static website, and monitoring using Prometheus. All services are containerized and connected through a private Docker network, with only selected entry points exposed to the host.

Instructions

Prerequisites

  • Docker
  • Docker Compose
  • GNU Make
  • Linux-based system (recommended)

Build and Run

bash

  • make build
  • make run

Resources

Docker

Nginx

WordPress

MariaDB

Redis

Prometheus

Project Description

Virtual Machine vs Docker

Virtual Machines emulate entire operating systems and are heavier in terms of resource usage. Docker containers share the host kernel, making them faster, lighter, and easier to scale. Docker is better suited for microservice-based architectures like this project.

Secrets vs Environment Variables

Secrets are used for sensitive data such as passwords. They are not stored in images or version control and are mounted securely at runtime. Environment variables are used only for non-sensitive configuration.

Docker Network vs Host Network

A custom Docker network is used to isolate internal services. Containers communicate using service names instead of exposing ports to the host, improving security and clarity.

Docker Volumes vs Bind Mounts

Docker volumes are used to persist data (database, WordPress files). They are managed by Docker and are more portable and secure than bind mounts, which depend on host paths.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages