
Deploy Arize Phoenix
Open-source LLM tracing, evals and observability, backed by Postgres
Just deployed
Just deployed
/var/lib/postgresql/data
Deploy and Host Phoenix on Railway
Phoenix is an open-source observability platform for LLM applications. It collects OpenTelemetry traces, runs evals, and gives you a UI to inspect prompts, retrieval, tool calls, and latency, without sending data to a third-party SaaS.
About Hosting Phoenix
Hosting Phoenix means running the tracing UI next to PostgreSQL so traces survive redeploys. This template pins arizephoenix/phoenix:version-20.9.0. The official Docker image is distroless: there is no shell, so this template does not wrap a custom entrypoint. Phoenix reads PHOENIX_PORT (not only Railway's PORT), and a Kubernetes-style tcp:// value will crash startup. This template pins both PORT and PHOENIX_PORT to 6006, binds PHOENIX_HOST=:: for dual-stack healthchecks, stores data in Postgres, enables auth, and exposes OTLP/HTTP on 6006 plus a TCP proxy for gRPC on 4317.
Common Use Cases
- LLM tracing: inspect prompts, completions, retrieval, and tool calls in one UI
- Evals: score outputs and catch regressions before they ship
- OpenTelemetry collector: accept OTLP/HTTP (
/v1/traces) and OTLP/gRPC (4317) - Playground: iterate on prompts against your own traces
- Self-hosted alternative to Langfuse SaaS: keep traces in your Railway project
Dependencies for Phoenix Hosting
- PostgreSQL 14+: production storage (included). SQLite is ephemeral on Railway.
- No LLM key required to boot: add provider keys later for evals/playground
- OpenTelemetry in your app: send spans after deploy
Deployment Dependencies
Implementation Details
PORT=6006
PHOENIX_PORT=6006
PHOENIX_HOST=::
PHOENIX_SQL_DATABASE_URL=${{Postgres.DATABASE_PRIVATE_URL}}
PHOENIX_ENABLE_AUTH=true
PHOENIX_SECRET=${{secret(64,"abcdef0123456789")}}
PHOENIX_USE_SECURE_COOKIES=true
PHOENIX_SECRET must be at least 32 characters with one digit and one lowercase letter. This template generates a 64-character hex secret, which always satisfies the validator. First UI login is admin@localhost / admin; Phoenix requires a password change. Create a system API key under Settings, then send OTLP/protobuf traces to https:///v1/traces with Authorization: Bearer (or use the generated TCP proxy on 4317 for gRPC). The /v1/traces endpoint accepts protobuf, not JSON.
Why Deploy Phoenix on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Phoenix on Railway, you get a pre-configured tracing stack with Postgres, generated secrets, health checks, managed SSL, and private networking to your application services.
Template Content
