"Self-host Langfuse" usually means: docker-compose on a random VPS, hope the Postgres volume survives, and wire API keys by hand into every agent process.
That works until the agent that is supposed to be observed is the same process that holds production secrets — on a kernel shared with something you forgot about.
jurniti's answer is a plugin microVM: Langfuse as an observability sidecar you grant to agents, not a container you co-locate with the agent itself.
Why agent observability is different
Agents are not request/response web apps. They:
- Loop
- Call tools
- Touch files and browsers
- Fail halfway through a plan
Traces matter more here than in a single chat completion. If you cannot see the tool trail, you cannot debug the customer incident.
Langfuse is one of the better open stacks for that job. The question is where it runs.
Self-host vs Langfuse Cloud vs jurniti plugin
| Shape | What you get | Tradeoff |
|---|---|---|
| Langfuse Cloud | Vendor-hosted SaaS | Fast; not your box |
| DIY self-host | Full control | You own uptime, upgrades, networking |
| jurniti observability plugin | Langfuse in its own Firecracker microVM, grantable to agent VMs | Paid sidecars; platform grant UX; KVM isolation |
The third option is for teams already running agents on jurniti who want traces without inventing a second fleet.
Measured demand note (2026-07-26 DataForSEO): the langfuse keyword family was ~170/mo with langfuse cloud leading — enough to justify a real page, not a registry-completeness stub.
How the plugin model works (product truth)
- You run agent VMs (Claude Code, Hermes, OpenClaw, …) on paid plans.
- From the observability surface you provision a Langfuse engine microVM (
observabilitylangfuse). - You grant that engine to the agents that should emit traces.
- You revoke when the engagement ends.
That is different from pasting a Langfuse URL into a shared host env and praying tenants never collide.
Isolation still applies
Observability data is sensitive: prompts, tool outputs, sometimes customer content. Putting the tracer on a shared multi-tenant box with other people's agents is a bad default for the same reason shared Docker agent farms are a bad default.
jurniti's hard product line is the microVM boundary. The Langfuse plugin does not get a free pass.
What this page is not
- Not a full Langfuse install tutorial (upstream docs are better for bare metal).
- Not a claim that jurniti is Langfuse, Inc.
- Not a free-tier playground.
If you need the agent platform first, start at pricing. If you already run agents and want the observability path, the in-app Observability hub is where you buy and grant engines after login.
Next step
Ship the agent. Then instrument it. On jurniti that order is intentional — and both legs run in real microVMs.