Phoenix serves its UI and OTLP HTTP on port 6006, and OTLP gRPC on port 4317. Start it one of these ways and leave it running while you work through Observe and Evaluate.
Run Phoenix#
Phoenix is a Python package, so uvx is the quickest way to run it, whatever language your agent is in.
No uv? pip install arize-phoenix && phoenix serve does the same thing. See Terminal setup for customization.
Open http://localhost:6006 to see the UI.
Images are published to Docker Hub. See Docker for volumes, PostgreSQL, and other options.
Run Phoenix on your own infrastructure, backed by PostgreSQL so traces persist beyond a single process. This is the option to reach for once Phoenix is shared across a team or environment.
The self-hosting guide covers Kubernetes, Helm, Railway, AWS CloudFormation, Google Cloud Run, Azure, and Render, plus authentication and configuration.
Connect to a remote Phoenix#
The quickstarts assume a local Phoenix at http://localhost:6006. Anywhere else, only PHOENIX_COLLECTOR_ENDPOINT changes.
Pointing at a deployment with authentication enabled? Set PHOENIX_COLLECTOR_ENDPOINT to that deployment’s OTLP HTTP traces URL, for example https://your-phoenix.example.com/v1/traces, and PHOENIX_API_KEY to an API key from its Settings page. A local phoenix serve needs no key.
Have an existing app?#
Run the Phoenix CLI setup from your app’s root directory. It detects your coding agent, hands it the instrumentation, and finishes when the first trace arrives:
See Connect a project with px setup for the full flow, CI usage, and unsupported agents.

