We Just Wanted to Deploy a PHP Website

What started as a small deployment modernization turned into a journey through Forgejo runners, isolated CI, custom Docker images, PHP 8.5, Yarn 4, reproducible artifacts, restricted SSH and our own provisioning stack — all so a PHP website could update itself in under a minute.