Up

Start Langfuse + Langflow + observability in one command — with real health checks

praisonai up starts the Langfuse observability backend and the Langflow visual builder together, and reports a service as ready only after it passes a health check.

Diagram

praisonai up

No

Yes

No

Yes

▶️ praisonai up

🚀 Spawn services

⏳ 0.5s grace

Still running?

❌ exited immediately

Health check
passes?

⚠️ not ready

✅ Running

Quick Start

  1. Start the full stack
    bash
    praisonai up

    Langfuse starts on port 3000, Langflow on port 7860, and observability is wired automatically.

  2. Start only one service
    bash
    praisonai up --no-langfuse   # Langflow only
    praisonai up --no-langflow   # Langfuse only
  3. Bind a custom host and port
    bash
    praisonai up --host 0.0.0.0 --langfuse-port 3001

Health-Check Semantics

A service is only reported as ✅ Running once it is actually reachable — a dead or unreachable service is never shown as “Running”.

Diagram
Servicepraisonai upUserServicepraisonai upUserwait 0.5s grace periodalt[healthy][timed out]alt[exited immediately][still running]praisonai upspawn processpoll()exit code N❌ {name} exited immediately (code N)GET /api/v1/health200 OK✅ Runningunreachable⚠️ not ready + install hint
SituationBehaviour
Service exits within 0.5sPrints ❌ {name} exited immediately (code N) and is removed from the managed list
requests not installedFails closed — the service is reported not ready, not blindly “Running”. Install with pip install requests
Health check failsThe service is not added to the ready table; the install hint is printed (pip install 'praisonai[langfuse]' / praisonai[flow])
Health check passesThe service is appended to the ready list and shown as ✅ Running

Configuration Options

FlagTypeDefaultDescription
--langfuse-portint3000Langfuse port
--no-langfuseboolFalseSkip starting Langfuse
--langflow-portint7860Langflow port
--no-langflowboolFalseSkip starting Langflow
--observestr"langfuse"Enable observability backend
--hoststr"127.0.0.1"Host to bind to
--no-openboolFalseDon’t open the browser
--waitint60Seconds to wait for services to become healthy (0 disables the check)

Skipping both services (--no-langfuse --no-langflow) is rejected.


Subcommands

CommandDescription
praisonai up statusCheck each service’s health and response time (--langfuse-url, --langflow-url)
praisonai up logsNot implemented — exits non-zero. Use docker logs <container> instead

Best Practices

Install requests so health checks run

Without requests, praisonai up cannot confirm a service is healthy and reports it as not ready. Install it: pip install requests.

Disable the wait with –wait 0 for fast local loops

Set --wait 0 to skip the health check when you know the services are already reachable — but note nothing then verifies readiness.

Read the install hint when a service fails

A failed start prints the exact extra to install: pip install 'praisonai[langfuse]' or pip install 'praisonai[flow]'.


Related