πŸš€ Project Motion: CI/CD Deployment with AWS, Docker, and HAProxy for Mediplus Web App

πŸ‘©πŸ½β€πŸ’» Submitted by:

Name: Pod 1

Project Title: Automated Deployment of Mediplus Web Application using AWS, Docker, GitHub Actions, HAProxy, and Nginx

Date: October 2025


🧩 Project Overview

This project demonstrates a complete DevOps deployment pipeline that automates the build, containerization, and deployment of the Mediplus web application. The infrastructure is hosted on AWS EC2, with Docker containers managed via GitHub Actions for CI/CD.

The project went beyond standard deployment β€” it included real troubleshooting of AWS CLI authentication, reconfiguration of EC2 instances, and setting up HAProxy as a reverse proxy layer for better load management and routing.


πŸ› οΈ Tools & Technologies Used

Tool Purpose
AWS EC2 Host servers for application and proxy
AWS ECR Store Docker images
GitHub Actions Automate build and deployment
Docker Containerize the Mediplus app
HAProxy / Nginx Reverse proxy and load balancer
Certbot (Let’s Encrypt) SSL configuration
Namecheap Domain DNS setup
Ubuntu Server (22.04) Base operating system for EC2

πŸ—οΈ Architecture Flow

Developer Push (GitHub) ↓ GitHub Actions CI/CD ↓ AWS ECR (Stores Image) ↓ EC2 #1 (App Server - Docker Container) ↓ EC2 #2 (HAProxy/Nginx Reverse Proxy) ↓ Namecheap Domain β†’ ceecloudtech.online ↓ SSL β†’ Certbot (HTTPS)


βš™οΈ Step-by-Step Implementation

STEP 1: Creating the First EC2 Instance (App Server)

We began by creating an EC2 instance to host the Mediplus web app container.

**Commands:**
```bash
# Update server
sudo apt update && sudo apt upgrade -y