The Igniter installer configures Phoenix development HTTPS and stores the browser URL in application config:

config :my_app, MyAppWeb.Endpoint,
  url: [scheme: "https", host: "my-app.test", port: 4001],
  https: [
    port: 4001,
    cipher_suite: :strong,
    keyfile: "priv/cert/selfsigned_key.pem",
    certfile: "priv/cert/selfsigned.pem"
  ]

config :my_app, star_view: [dev_url: "https://my-app.test:4001"]

The installer prints the trust command to run after install:

mix star_view.trust --host my-app.test

That task adds my-app.test to /etc/hosts, runs mkcert -install, and writes the certificate files configured above:

  • priv/cert/selfsigned.pem
  • priv/cert/selfsigned_key.pem

Install mkcert first:

brew install mkcert nss

The host is derived from the OTP app name with underscores converted to hyphens because DNS hostnames cannot contain underscores.

Run mix star_view.trust --host my-app.test before mix dev so Phoenix can find the configured certificate files. The task may prompt for sudo privileges when updating /etc/hosts or installing mkcert's local certificate authority.

Starting Phoenix

Run:

mix dev

mix dev delegates to:

mix star_view.server

mix star_view.server starts mix phx.server --open, so Phoenix opens the configured endpoint URL. Pass --no-open when you want to start the server without opening a browser:

mix star_view.server --no-open