Documentation
Commands

Commands

hostly has two entry points: the interactive app and the sync subcommand.

hostly

hostly

Launches the interactive local domain manager. On start, hostly runs sudo -v to cache your credentials (needed to write /etc/hosts), then renders the main menu:

ScreenWhat it does
DomainsList, add, edit, and delete domains. Shows sync status per domain.
Proxy & CaddyCheck the Caddy admin API, list live routes, and re-sync routes from your registry.
CertificateTrust or untrust Caddy's local CA in your system trust store.
DaemonInstall or remove the boot daemon that runs hostly sync at startup.
QuitExit the app (same as Ctrl+C).

Keyboard

KeyAction
/ Move the selection
EnterSelect
rRefresh (on the Domains screen)
EscGo back to the previous screen
Ctrl+CQuit

hostly sync

hostly sync

Re-applies your saved domains to Caddy, then exits. It does not open the interactive UI and does not touch /etc/hosts.

This exists because Caddy's admin-API configuration is not persisted across restarts. After Caddy restarts, its routes are gone until something re-applies them. hostly sync:

  1. Waits for the Caddy admin API (http://localhost:2019) to become reachable
  2. Loads your domain registry
  3. Pushes the routing and TLS config to Caddy

The boot daemon (installed from the Daemon screen) runs this command for you at startup. You can also run it by hand whenever Caddy has lost its routes.

Exit codes: 0 on success, 1 if Caddy never became reachable or the config could not be applied. The error is printed to stderr.

Requirements

Both commands require Caddy (opens in a new tab) installed and on your PATH. hostly additionally requires a TTY (it's an interactive terminal app), while hostly sync is safe to run headless from a service.