This project focuses on enhancing system administration skills by working with Docker containers. You'll virtualize several Docker images and create a personal virtual infrastructure adhering to predefined specifications.
-
Mandatory Setup:
- NGINX container with TLSv1.2 or TLSv1.3 for secure access.
- WordPress + php-fpm container, fully installed and configured.
- MariaDB container for database management.
- Volumes for:
- WordPress database.
- WordPress website files.
- Docker network for inter-container communication.
- Proper error recovery with container auto-restarts.
- Environment variable support and secure credentials management.
-
Bonus Features (optional):
- Redis caching for WordPress.
- FTP server for WordPress volume access.
- Static website (e.g., portfolio or showcase site) using any language except PHP.
- Adminer setup for database administration.
- Additional custom service (to be defined).
The project is organized as follows:
- Containers follow best practices and avoid infinite loops (tail -f, bash, etc.).
- NGINX is the sole entry point, serving requests only through port 443.
- Adheres to Dockerfile standards (no pre-built images pulled from DockerHub).