Skip to content
All guides

servers

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:

PortRole
8443TLS (first-class)
8080HTTP 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.