Dockerized Nginx Web Server
A Dockerized Nginx web server used to host a self-built portfolio site, focused on containerization, persistent configuration, and clean separation between edge traffic and a self-hosted origin server.
Overview
This project focuses on running a production-style Nginx web server inside a Docker container to serve a static portfolio site from a self-hosted environment. The goal was to move beyond local development servers and deploy a real, long-running web service.
Nginx is containerized using Docker Compose, with configuration and site files mounted as volumes. This allows the web server to be updated, restarted, or rebuilt without losing configuration or site content, mirroring real-world deployment patterns.
Tech Stack
- Docker
- Docker Compose
- Reverse Proxy
- Persistent Storage
Highlights
- Deployed an Nginx web server as a Docker container for consistent, repeatable hosting.
- Used Docker Compose to define ports, volumes, and restart behavior.
- Mounted site files and Nginx configuration as persistent volumes.
- Separated edge traffic handling (Cloudflare) from the origin web server.
- Enabled safe iteration on site content without rebuilding the container image.
- Gained hands-on experience with container lifecycle management and troubleshooting.
Next Steps
- Add environment-specific configuration for local, staging, and production deployments.
- Introduce automated container updates and health checks.
- Explore log forwarding and basic monitoring for the web server.
- Harden origin access rules to restrict traffic exclusively to Cloudflare.
- Document the deployment workflow for repeatable future projects.