Next.jsDockerPrometheus
A portfolio that monitors itself
Instead of describing DevOps practice, the site ships with it: CI/CD, a hardened container, health endpoint, and its own Prometheus metrics.
CI/CD
lint → build → push
non-root
hardened container
live
/metrics endpoint
The Challenge
Every DevOps CV claims pipelines, containers, and observability. Claims are cheap — the portfolio site itself should be the proof, not another static brochure.
The Architecture
ciGitHub Actions: lint → typecheck → build → push to GHCR
imageMulti-stage hardened Dockerfile, non-root runtime
runStandalone Next.js with a JSON /healthz endpoint
observePrometheus metrics exported by the site itself
The Outcome
The repo doubles as a working reference architecture for containerized web apps — build provenance is surfaced in the UI, and the site reports on its own health.
- Repo doubles as reference architecture
- Commit SHA → build provenance in the footer
- Prometheus metrics out of the box