← Michael Schoelkopf

How I build and deploy

Every prototype app lives in its own GitHub repository and deploys automatically to a subdomain of this site.

What happens automatically

Every push to main triggers a GitHub Actions workflow that builds the project (if needed) and rsyncs the files to the server. The site is live within about 30 seconds.

What needs to be done once per project

  1. Register the subdomain on the server: uberspace web domain add subdomain.michael-schoelkopf.de — Uberspace issues an SSL certificate automatically.
  2. Add two DNS records (A + AAAA) in HostEurope pointing to the server.
  3. Add the SSH deploy key as a secret in the GitHub repository.

DNS propagation takes a few minutes to up to 24 hours. After that, every future push deploys automatically.

The full setup is documented in my dev-playbook.