mabel.ink

Robert Black

Systems administrator moving into cloud and web infrastructure.

This site is a learning project, and it runs on the kind of setup it describes. Production is on Azure Static Web Apps, deployed by GitHub Actions. Staging runs on a home server behind a self-hosted CI pipeline and a reverse proxy with its own certificate authority. Both come from one Git repository.

I write up what I build. The posts cover the infrastructure behind this site, the home lab it grew out of, and the coursework behind the degree I am finishing.

How a change reaches the site

Deployment pipeline for mabel.ink A change is pushed to the staging branch, built by a self-hosted Gitea runner, and published to staging.mabel.ink for verification. It is then promoted to the main branch by a pull request, which triggers GitHub Actions to build and deploy to mabel.ink on Azure Static Web Apps. your machine edit src/, npm run serve git push origin staging Gitea + self-hosted runner npm ci, Eleventy build staging.mabel.ink verify here pull request to main GitHub Actions builds on hosted runners mabel.ink Azure Static Web Apps
Staging is a gate, not a parallel copy. Nothing reaches production without passing through it.