This guide covers installation, prerequisites, and your first run with Ember.
- A running Caddy server with the admin API and metrics enabled. See Caddy Configuration for details.
- For FrankenPHP thread-level metrics (method, URI, duration, memory, request count): FrankenPHP 1.12.2 or later. Older versions only expose thread index and state.
curl -fsSL https://raw.githubusercontent.com/alexandre-daubois/ember/main/install.sh | shThis detects your platform (Linux/macOS, amd64/arm64), downloads the latest release from GitHub, and installs the binary to /usr/local/bin. You can override the install directory with EMBER_INSTALL_DIR:
curl -fsSL https://raw.githubusercontent.com/alexandre-daubois/ember/main/install.sh | EMBER_INSTALL_DIR=~/.local/bin shbrew install alexandre-daubois/tap/embermacOS: the first time you run Ember, macOS Gatekeeper may block the binary because it is not notarized. If that happens, remove the quarantine attribute:
xattr -d com.apple.quarantine $(which ember)Alternatively, you can allow it manually in System Settings → Privacy & Security.
go install github.com/alexandre-daubois/ember/cmd/ember@latestdocker run --rm --network host alexandredaubois/emberThe image is mirrored on GHCR as ghcr.io/alexandre-daubois/ember.
Note: The Docker image runs in daemon mode by default. See Docker for details.
Run ember init to check your Caddy configuration and enable metrics if needed:
ember initThis verifies that the admin API is reachable, enables the metrics directive via the API if missing (no restart required), and detects FrankenPHP.
Start Ember:
emberEmber connects to the Caddy admin API at http://localhost:2019 and begins polling every second. If FrankenPHP is detected, a second tab appears automatically.
Tip: To connect to a remote Caddy instance, use
ember --addr http://your-host:2019.
| Key | Action |
|---|---|
Tab / 1 / 2 |
Switch between Caddy and FrankenPHP tabs |
Up / Down |
Navigate the list |
Enter |
Open detail panel |
? |
Help overlay |
q |
Quit |
For the full keybinding reference, see CLI Reference.
- Caddy Dashboard: Understand the Caddy tab
- FrankenPHP Dashboard: Explore thread-level introspection
- CLI Reference: All available flags and options