A fully containerized Flask-based task management application demonstrating end-to-end DevOps practices including CI/CD automation, Docker containerization, and cloud deployment on AWS.
This project showcases a real-world DevOps workflow by automating the build, test, and deployment process of a Python Flask application using modern DevOps tools.
- Backend: Python, Flask
- Containerization: Docker, Docker Compose
- CI/CD: GitHub Actions
- Cloud: AWS EC2
- Registry: Docker Hub
- ✅ Containerized Flask application using Docker
- ✅ Multi-service orchestration with Docker Compose
- ✅ Automated CI/CD pipeline using GitHub Actions
- ✅ Docker image build & push to Docker Hub
- ✅ Cloud deployment on AWS EC2
- ✅ CI/CD pipeline status monitoring
- Code pushed to GitHub repository
- GitHub Actions triggers pipeline
- Docker image is built automatically
- Image is pushed to Docker Hub
- Application deployed on AWS EC2
├── .github/
│ └── workflows/
│ └── docker-publish.yml # CI/CD pipeline (build & push to Docker Hub)
├── app/
│ ├── static/ # CSS, JS, assets
│ ├── templates/ # HTML templates
│ ├── app.py # Main Flask application
│ ├── models.py # Database models
│ ├── requirements.txt # Python dependencies
│ ├── Dockerfile # Docker image configuration
│ ├── docker-compose.yml # Multi-container setup
│ └── .dockerignore # Ignore unnecessary files in Docker build
├── README.md
-
User accesses the Flask application via browser
-
Flask app runs inside a Docker container
-
Docker Compose manages application services
-
GitHub Actions automates:
- Build Docker image
- Push image to Docker Hub
-
Docker image is deployed on AWS EC2
-
Application runs consistently across environments
- Docker installed
- Docker Compose installed
- Git
git clone https://github.com/Aditya09-cse/devops-task-manager.git
cd devops-task-manager
docker compose up --buildApp will be available at: 👉 http://localhost:5000
- Launch EC2 instance
- Install Docker & Docker Compose
- Pull Docker image from Docker Hub
- Run container
- 🚀 Reduced manual deployment effort by ~80% using CI/CD automation
- 🔁 Achieved consistent environments across local and cloud using Docker
- ⚡ Improved debugging efficiency by ~30% with pipeline visibility
- 📦 Automated Docker image build & deployment workflow
- Add Kubernetes for container orchestration
- Implement monitoring (Prometheus + Grafana)
- Add HTTPS with Nginx reverse proxy
Feel free to fork this repo and contribute!
Aditya Singh Tomar
- GitHub: https://github.com/Aditya09-cse
- LinkedIn: in/aditya-tomar-42731628a
⭐ If you found this helpful, give it a star!