https://github.com/wizzfi1/wisdom-flask
CI/CD Flask app with GitHub Actions & Docker, deployed to AWS EC2 via SSH
https://github.com/wizzfi1/wisdom-flask
aws ci-cd cloud-engineering devops docker flask github-actions python
Last synced: 2 days ago
JSON representation
CI/CD Flask app with GitHub Actions & Docker, deployed to AWS EC2 via SSH
- Host: GitHub
- URL: https://github.com/wizzfi1/wisdom-flask
- Owner: wizzfi1
- License: mit
- Created: 2025-07-09T10:27:54.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-07-21T11:09:44.000Z (9 months ago)
- Last Synced: 2025-07-21T13:08:25.321Z (9 months ago)
- Topics: aws, ci-cd, cloud-engineering, devops, docker, flask, github-actions, python
- Language: Nix
- Homepage: http://51.21.196.52:5000
- Size: 35.2 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π§ Wisdom Flask Β· GitHub β Docker Hub β AWS EC2 π
A lightweight Flask web application containerized with Docker, auto-built via GitHub Actions, and deployed to an AWS EC2 instance through secure SSH-based CI/CD.
---
This project demonstrates a complete DevOps deployment pipeline:
- β
Python Flask web application
- β
Dockerized with a lightweight, production-ready image
- β
GitHub Actions workflow that automates deployment
- β
Secure SSH-based delivery to AWS EC2 on every push
- β
Publicly accessible at: http://51.21.196.52:5000
> π οΈ CI/CD without clickops. Just code β deploy.
---
### π Live Project Links
- π§ **Live App**: http://51.21.196.52:5000
- π¦ **Docker Image**: [Docker Hub Repo](https://hub.docker.com/r//wisdom-flask)
- π§° **Deployed via**: [GitHub Actions Workflow](.github/workflows/deploy-to-ec2.yml)
---
### π‘ What This Proves
- You understand CI/CD workflows **beyond tutorials**
- You can securely automate production-like infrastructure
- Youβre capable of cloud deployment with industry tools
---
## π³ Run Locally
### Clone the repo:
git clone https://github.com/wizzfi1/wisdom-flask.git
cd wisdom-flask
Build and run:
docker build -t wisdom-flask .
docker run -p 5000:5000 wisdom-flask
Then open http://localhost:5000
π CI/CD: GitHub Actions β AWS EC2
This project uses GitHub Actions to deploy automatically to an EC2 instance on every push to main.
π Secrets Used:
EC2_HOST β your EC2 public IP
EC2_SSH_KEY β your private SSH key (added via GitHub Secrets)
π» Workflow File:
.github/workflows/deploy-to-ec2.yml
What it does:
Connects to EC2 using SSH
Pulls the latest Docker image from Docker Hub
Stops and replaces the running container
## πΈ Screenshot

## π§± Project Structure
```text
wisdom-flask/
βββ app.py
βββ Dockerfile
βββ requirements.txt
βββ README.md
βββ .dockerignore
βββ .github/
βββ workflows/
βββ deploy-to-ec2.yml
π‘ DevOps Stack Used
| Category | Tool |
| ---------------- | ------------------ |
| Language | Python (Flask) |
| Containerization | Docker |
| CI/CD | GitHub Actions |
| Cloud Hosting | AWS EC2 (Ubuntu) |
| Deployment | Docker Run via SSH |
β Don't forget to star the repo if this helped you!