Inception
A multi-service web stack assembled as isolated containers with durable storage, TLS, and explicit service boundaries.
- Role
- Infrastructure design, container configuration, shell automation, and service hardening.
- Stack
- Docker / Docker Compose / Nginx / MariaDB / WordPress / Redis / Linux
Overview
Infrastructure that can be rebuilt, inspected, and reasoned about.
A multi-service web stack assembled as isolated containers with durable storage, TLS, and explicit service boundaries.
The constraint shaped the system.
The system needed reproducible provisioning while keeping data durable and services independently understandable.
Responsibilities made explicit.
Purpose-built containers communicate through a controlled network, persist state through named volumes, and expose only the necessary edges through Nginx.
Service topology
A rebuildable stack with durable state.
The public edge, application runtime, database, cache, administration, and storage responsibilities are separated into explicit services.
- 01Client
- 02Nginx / TLS
- 03WordPress
- 04MariaDB
- Redis
- FTP
- Adminer
- Portainer
- Persistent volumes
Engineering
Isolation with explicit dependencies.
- 01
Service separation
Purpose-built containers keep Nginx, WordPress, MariaDB, and supporting services independently understandable.
- 02
Public boundary
Nginx terminates TLS and exposes the necessary public edge while application services remain on the internal network.
- 03
Durable state
Named volumes separate persistent database and application data from replaceable containers.
- 04
Supporting services
Redis, FTP, Adminer, and Portainer extend caching, access, administration, and inspection without collapsing service boundaries.
System scope
- 01Service isolation
- 02TLS termination
- 03Persistent volumes
- 04WordPress runtime
- 05Database provisioning
- 06Redis caching
- 07FTP access
- 08Admin tooling
- Docker
- Docker Compose
- Nginx
- MariaDB
- WordPress
- Redis
- Linux
Engineering takeaway
Containers are most useful when they reinforce good service boundaries rather than merely packaging a monolith.