Pages and TLS
page
Exact path. Content-Type comes from the file extension (.html, .css, .js, .json, .svg, .txt). Missing files are 404. No directory listing.
page("/", "public/index.html")
page("/about", "public/about.html")
Put HTML in a file. Buraaq strings interpolate {...}: do not paste markup into "...".
Ports
Users hit Keel:
| Port | Role |
|---|---|
| 8443 | TLS (first-class) |
| 8080 | HTTP beside it |
This is independent of Dock's control plane on 7422. Do not confuse the two.
Certificates
If cert.pem and key.pem sit in the project root, buraaq pack includes them. On a real host, prefer certs on the machine (or a reverse proxy) and keep secrets out of the ship.
Land / Ship do not run ACME for you. Bring Let's Encrypt or your PKI.
Browser UI vs native UI
A Keel page is a static file plus fetch('/api/...'). That is enough for many operator screens. An optional native Windows window exists at the end of Systems (Lumen) if you explicitly want one: it is not required to ship an API.
