Live DevOps Lab

TEOS DevOps
Portfolio Lab

This application is deployed through a real CI/CD pipeline: GitHub Actions builds a Docker image, publishes it to GHCR, connects to a Linux server over SSH, pulls the new image, restarts Docker Compose and verifies health checks.

๐Ÿณ

Dockerized app

The Python Flask application runs inside a Docker container built by CI and pulled by the production server.

๐Ÿš€

Automated deploy

Merging into main triggers build, push to registry and remote deployment to the server through GitHub Actions.

๐ŸŒ

Nginx reverse proxy

Nginx routes traffic to the application service and can distribute requests across scaled containers.

๐Ÿ“ฆ

GHCR registry

Images are stored in GitHub Container Registry with tags for deployment and repeatable releases.

๐Ÿงช

Smoke tested

CI checks compose configuration, builds the image, starts services and verifies health/API responses before deployment.

๐Ÿ“ˆ

Scalable service

Multiple app containers can run behind Nginx. Refreshing requests can land on different container hostnames.

Runtime status

healthy
Container hostname 18f0e74c94fa
Timestamp UTC 2026-06-27 04:21:08 UTC
Client IP 216.73.217.16
Backend port 3000