Getting Started

April 21, 2026 ยท View on GitHub

This guide covers installation, prerequisites, and your first run with Ember.

Requirements

  • 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.

Installation

One-liner

curl -fsSL https://raw.githubusercontent.com/alexandre-daubois/ember/main/install.sh | sh

This 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 sh

Homebrew

brew install alexandre-daubois/tap/ember

macOS: 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

go install github.com/alexandre-daubois/ember/cmd/ember@latest

Docker

docker run --rm --network host alexandredaubois/ember

The 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.

Setup

Run ember init to check your Caddy configuration and enable metrics if needed:

ember init

This verifies that the admin API is reachable, enables the metrics directive via the API if missing (no restart required), and detects FrankenPHP.

First Run

Start Ember:

ember

Ember 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.

Basic Navigation

KeyAction
Tab / 1 / 2Switch between Caddy and FrankenPHP tabs
Up / DownNavigate the list
EnterOpen detail panel
?Help overlay
qQuit

For the full keybinding reference, see CLI Reference.

What's Next?