Docker Infrastructure Project

Self-hosted infrastructure using Docker Compose, Nginx, Apache, MariaDB, Grafana, Prometheus, and WireGuard VPN.

Project Overview

This project demonstrates a containerized infrastructure environment designed to host public web services while keeping administrative and monitoring tools restricted behind VPN/IP-based access controls.

Architecture Diagram

Internet
   |
DNS (Bind 9)
   |
Nginx Reverse Proxy
   |
+-------------------------+
| Public Services         |
| - Apache Resume Site    |
| - Flask Tracker App     |
+-------------------------+
   |
Docker Network
   |
MariaDB

WireGuard VPN
   |
Admin Access
   |
+-------------------------+
| Restricted Services     |
| - Grafana               |
| - Prometheus            |
| - Admin Pages           |
+-------------------------+
    

Docker & Docker Compose Infrastructure

Installed Docker and Docker Compose on an Ubuntu VPS and created a centralized infrastructure repository to manage application containers, configuration files, SSL certificates, and persistent storage.

Apache Resume Website & MariaDB

Deployed a PHP-based resume website within a Docker container and connected it to a MariaDB database using Docker internal networking.

https://resume.jefffolio.com
Resume Site Preview

Resume Website

Flask Calorie Lookup Application

Developed and deployed a Python Flask application that retrieves nutritional information through API integrations and serves data through a web interface.

Calorie Tracker

https://tracker.jefffolio.com
Tracker App Preview

Nginx Reverse Proxy & SSL

Configured Nginx as the public-facing reverse proxy responsible for HTTPS termination and routing requests to internal Docker services.

Monitoring & Administration Stack

Implemented monitoring, administration, and backup services to provide visibility into system performance and improve operational reliability.

Technologies Used

Security Design