running on agenthotel

Every domain is one file.

Point a hostname at this container, drop in a markdown file, and it is a website. The text you edit is the text a language model reads.

Read this page's sourceSee the other guest

the whole trick

The doorplate is the domain

This page and the one at kund.froste.eu are served by the same process, the same port and the same container. The only thing that differs is the Host header on the request.

lobby.froste.eu is sites/lobby.froste.eu.md. That is the entire routing rule, and it is the same rule the hotel already uses to find a guest.

A hotel corridor with numbered doors

Four blocks

::hero opens. ::two-column puts text beside an image. ::cta boxes an invitation. ::text is everything else — and anything outside a block is ordinary markdown, so a plain file renders fine with no directives at all.

A link written `` becomes a button. An unknown directive still renders its words: a typo in a block name costs you the layout, never the content.

Label

Want a room?

Give a hostname a file and it opens for business.

github.com/magnusfroste/lobby