Skip to content

About

End-to-end DevOps pipeline demonstrating Python Flask application containerization via Docker and automated Infrastructure as Code (IaC) deployment to Azure Container Apps using Terraform.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

Repository files navigation

DevOps Homelab 🚀

Python Docker Terraform Azure Status


📌 Overview

This project is a DevOps homelab that demonstrates a full end-to-end cloud and CI/CD workflow.

It simulates how a real-world application moves from local development to a fully automated cloud infrastructure using modern DevOps practices.

The goal is to build practical experience with application development, containerization, automation, Infrastructure as Code, and cloud deployment.


🔁 End-to-End Workflow

Local Development (Flask) → Docker Containerization → GitHub Repository → GitHub Actions (CI/CD - in progress) → Terraform (Infrastructure as Code) → Microsoft Azure (Cloud Resources)

This represents a real-world DevOps pipeline where application delivery and infrastructure provisioning are automated and version-controlled.


🎯 Goals

  • Learn and apply DevOps principles in a real project
  • Build CI/CD pipelines using GitHub Actions
  • Containerize a Python Flask application using Docker
  • Use Terraform for Infrastructure as Code
  • Deploy resources on Microsoft Azure
  • Build a portfolio-ready cloud engineering project

🧰 Tech Stack

  • Python (Flask)
  • Docker
  • Git & GitHub
  • GitHub Actions
  • Terraform
  • Microsoft Azure

☁️ Infrastructure (Terraform + Azure)

Infrastructure is managed using Infrastructure as Code (IaC) with Terraform to provision Microsoft Azure resources in a repeatable and version-controlled way.

  • Azure Resource Group created via Terraform

Deployment

The application is deployed as a temporary cloud environment using Azure Container Apps via Terraform.

The infrastructure is fully reproducible and can be destroyed using Terraform.

🚀 Future Improvements

  • Azure App Service or Container Apps deployment
  • Virtual Network (VNet) and subnet architecture
  • Azure Key Vault for secrets management
  • Full CI/CD deployment pipeline to Azure

🚀 How to run locally

Build the Docker image

docker build -t devops-homelab .

Run container

docker run -p 5000:5000 devops-homelab

📸 Screenshots

All screenshots are stored in: docs/screenshots/

Includes:

  • Terraform plan output
  • Terraform apply output
  • Azure resource creation
  • CI/CD pipeline runs

📈 Project Status

Status: 🚧 In progress

Current focus:

  • Terraform infrastructure setup
  • Azure deployment
  • CI/CD pipeline improvements

🧠 What I learned

  • Docker containerization
  • GitHub Actions CI/CD pipelines
  • Terraform Infrastructure as Code
  • Microsoft Azure cloud basics
  • End-to-end DevOps workflow

👤 Author

Sven Velleman
Aspiring Cloud & DevOps Engineer

About

End-to-end DevOps pipeline demonstrating Python Flask application containerization via Docker and automated Infrastructure as Code (IaC) deployment to Azure Container Apps using Terraform.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages