Using Mullion

Sites & domains

Link any folder and it gets a domain. HTTPS, subdomain aliases, wildcard DNS and the Sites page are all covered here.

Linking a project

$ cd ~/code/shop
$ mullion link             # name = folder name → shop.test
$ mullion link store       # or pick a name → store.test
$ mullion link --secure    # HTTPS right away
$ mullion link --php       # force PHP serving for a folder with a package.json

Mullion detects the project type:

Use mullion links (or sites) to list sites, mullion unlink to remove one, and mullion rename [old] <new> to change a domain. Dev servers follow a rename.

The Sites page

Every linked project appears as a card. Each card shows:

The Sites page: backend and frontend project cards with framework badges, domains and status

Mullion detects these frameworks:

HTTPS

Caddy's local certificate authority signs a certificate for every https:// site. Setup trusts that authority once, so browsers show a real padlock.

$ mullion secure [name]     # HTTPS for one site
$ mullion unsecure [name]   # back to plain HTTP
$ mullion ssl all on        # every site at once

For certificate trust and export, see Ports & SSL.

Subdomain aliases

A site can answer on extra subdomains, all served by the same project:

$ mullion alias shop add api       # api.shop.test
$ mullion alias shop add v1.api    # v1.api.shop.test
$ mullion alias shop add '*'       # every subdomain: tenant1.shop.test, …
$ mullion alias shop list
$ mullion alias shop remove api

Wildcard DNS

The hosts file can't express wildcards, so tenant1.shop.test only resolves through Mullion's own small DNS server, which runs inside the background agent.

$ mullion dns on       # install the OS hookup (asks for administrator rights once)
$ mullion dns status   # what is in place
$ mullion dns off

Changing the TLD

Every site uses .test by default. To change it for all sites at once:

$ mullion tld local   # shop.test → shop.local

Avoid real public TLDs such as .dev or .app. Browsers force them to HTTPS (HSTS preload), which breaks plain-HTTP local sites.

Frontend dev servers

For a frontend site, Mullion runs the project's dev server with npm, pnpm or yarn, picked from the lockfile. It installs dependencies on the first run, uses the right Node version, detects the port the server actually opened, and proxies the domain to it, with HMR and websockets working.