projects

Inception

A deeply customized, multi-container architecture built strictly from raw OS base images, featuring custom init scripts, PID 1 management, and strict network isolation.

RoleDevOps Engineer
Client42 Project
Year2024
Technologies
DockerNginxWordPress+4
Inception cover

Overview

Containerized WordPress platform from custom Debian-based Dockerfiles with Redis caching and monitoring.

The Challenge

While Docker makes deployments easy using pre-built images, doing so hides critical system administration details. The challenge of this project was to build a complete microservices stack (Nginx, PHP-FPM, MariaDB, Redis) by writing Dockerfiles from scratch using raw Alpine/Debian base images. This forces a deep understanding of daemon configuration, PID management, and container lifecycle.

The Solution

Custom Debian Dockerfiles for Nginx/PHP-FPM/MariaDB/Redis, Docker Compose orchestration, Makefile automation, plus Adminer and cAdvisor.

Architecture & Topology

Technical Deep Dive

PID 1 & Init Systems

Engineered custom shell scripts acting as ENTRYPOINT to properly handle system signals (SIGTERM/SIGINT) as PID 1, ensuring graceful shutdowns of daemons (like MariaDB) to prevent data corruption.

Source-Built Configurations

Refused community images. Every service was compiled or installed from package managers in raw Debian/Alpine images. Configured PHP-FPM socket listeners, Nginx server blocks, and Redis memory policies entirely from scratch.

Strict Network Isolation

Engineered a highly secure internal topology utilizing Docker's user-defined bridge networks. The database and object cache containers are completely isolated from the host and public network.

Persistent Data & Caching

Configured explicit Docker Volumes to decouple stateful data from ephemeral container filesystems. Integrated Redis as an in-memory object cache to drastically reduce MariaDB query loads.