LLM Infrastructure 1 service 2 GiB RAM 10 GB disk

Phoenix

LLM tracing, evals, and a prompt playground in one container - the lightweight start to LLM observability.

One-click deploy, from $13/mo on a Miget plan.

Not every team needs a six-service observability platform on day one. Phoenix puts LLM tracing, evaluations, datasets, and a prompt playground in a single container with SQLite on a volume - up in seconds, OpenTelemetry-native, with auto-instrumentation for LangChain, LlamaIndex, and raw OpenAI clients.

In this catalogue it is the deliberate counterpart to langfuse: start here when you want traces this afternoon; graduate to the full stack when volume and team workflows demand it. Both speak OTel, so your instrumentation survives the move.

Auth is on, telemetry is off, and the secret is one variable. Arize’s hosted product (AX) starts at $50/month past the free tier - this is $13 with your data on your volume.

#what you get

  • OTel-native tracing: spans, latencies, token counts, costs
  • Evals: LLM-as-judge and custom evaluators over real traces
  • Datasets and experiments; prompt playground built in
  • Auto-instrumentation for the major frameworks
  • One container, SQLite on a volume; Postgres path when needed
  • Auth enabled, telemetry disabled in this template

#topology

ServiceRolePublic
phoenixUI + OTLP collectors (:5000 HTTP, :4317 gRPC internal)yes (auth)

#miget sizing

// this stack needs

2 GiB RAM · 10 GB disk · 1 service

Comfortable for team-scale trace volume on SQLite; heavy retention moves to PHOENIX_POSTGRES_* settings. License is Elastic 2.0 - fine to self-host, restricted from being resold as a service.

Hobby - recommended fit

$13/mo

1 vCPU · 2 GiB · 50 GiB disk

Headroom for your own apps: 2 GiB at $19/mo

Professional - production

$22/mo

1 vCPU · 2 GiB · 10 GiB disk

Dedicated resources, production SLOs - plan details

One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.

#vs. the managed service

What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.

ServicePlanMonthlyWhat you get
Phoenix on Miget 2 GiB plan$13this whole stack, flat - no usage meters, and room left for your own apps
Arize AXPro~$50past the free 25k spans/mo tier
LangSmithPlus~$39per seat + $2.50 per 1k traces past the included 10k

#vs. other PaaS

Estimated monthly cost of running this exact stack (2 GiB RAM, 10 GB disk, 1 container) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $13 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$100 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
DO App Platform ~$29 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Render ~$28 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
Railway ~$22 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$13 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.

#deploy it

On Miget

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to phoenix
  3. Set the required variable:
    • PHOENIX_SECRET, 32+ chars; first login admin@localhost/admin forces a reset
  4. Deploy. Miget layers compose.miget.yaml (RAM, privacy, volumes, managed services) automatically

Locally first?

Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:

git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/phoenix
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

Phoenix or Langfuse - this catalogue has both?

Deliberately: Phoenix is the one-container start (tracing + evals today, minimal ops), Langfuse the full platform (workers, ClickHouse-scale ingestion, prompt management workflows). Both ingest OpenTelemetry, so starting with Phoenix costs you nothing if you graduate.

How do traces get in?

OTLP/HTTP to http://phoenix:5000/v1/traces or gRPC to phoenix:4317 from apps in the project - or use Phoenix’s SDKs, which auto-instrument LangChain, LlamaIndex, and OpenAI-compatible clients (including calls through the litellm template) in a couple of lines.

What does the ELv2 license mean for me?

Self-hosting Phoenix for your own products and teams is unrestricted. The Elastic License only forbids offering Phoenix itself as a managed service to third parties - the standard source-available trade, flagged here so nothing surprises you.

Ship Phoenix today

One compose stack, 2 GiB of RAM, from $13/month flat, and it runs on your laptop with the same files.