Back to Projects
DevOps / Cloud DeploymentJul 2026

React DevOps Demo

A complete CI/CD pipeline project deploying a React app to AWS EC2 using Docker, Nginx, and GitHub Actions — from local development to fully automated production deployment.

React DevOps Demo

Sanity Dashboard — Project Description

Overview

A beginner-to-intermediate DevOps project demonstrating the complete lifecycle of a modern web application — from development to cloud deployment — built with React, Docker, GitHub Actions, and AWS EC2.

Created as part of an ongoing DevOps and Cloud Engineering learning journey, this project implements a real-world CI/CD workflow: every push to main is automatically built, containerized, and deployed to a live server with zero manual intervention.

Architecture

Tech Stack

  • Frontend: React, Vite
  • Version Control: Git, GitHub
  • Containerization: Docker (multi-stage builds)
  • CI/CD: GitHub Actions
  • Cloud Platform: AWS EC2 (Ubuntu, t2.micro)
  • Web Server: Nginx

Key Highlights

  • Multi-stage Docker build — separate build and production stages, compiling the React app with Node before serving the static assets through a lightweight Nginx image.
  • CI Pipeline — automatically checks out the code and validates the Docker build on every push to main.
  • CD Pipeline — uses GitHub Secrets and SSH-based deployment (appleboy/ssh-action) to connect to EC2, pull the latest code, rebuild the image, and restart the container automatically.
  • Cloud Infrastructure — a Free Tier AWS EC2 instance provisioned and configured with security groups for SSH, HTTP, and custom ports.
  • Zero-touch deployment — no manual server interaction required after setup; a single git push takes code from a local machine to a live public endpoint.

What I Learned

Linux fundamentals, SSH, Docker networking, Nginx configuration, Git/GitHub workflows, GitHub Actions pipelines, AWS EC2 provisioning, and infrastructure automation principles.

Future Improvements

  • Docker Compose for multi-container orchestration
  • Custom domain with HTTPS (Let's Encrypt)
  • Nginx as a reverse proxy
  • Prometheus + Grafana monitoring
  • Terraform for Infrastructure as Code
  • Kubernetes (EKS / K3s) for orchestration
  • Multi-environment deployments (staging/production)