Deploy Langfuse v3
Self-hosted LLM observability: tracing, evals & prompt management
clickhouse
Just deployed
/var/lib/clickhouse
postgres
Just deployed
/var/lib/postgresql
langfuse-worker
Just deployed
Just deployed
/data
Just deployed
/data
langfuse-web
Just deployed
Deploy and Host Langfuse
Langfuse is an open-source LLM observability platform — the self-hosted alternative to LangSmith. It gives you tracing, metrics, evals, and prompt management for your LLM applications in one place.
About Hosting
This template deploys the production Langfuse v3 stack on Railway as a 6-service application:
| Service | Purpose |
|---|---|
| langfuse-web | Next.js app server (frontend + API), port 3000 |
| langfuse-worker | Background job processor |
| postgres | Primary database (postgres:17 with pgvector) |
| clickhouse | Analytics database for event traces |
| redis | Cache + BullMQ job queue |
| minio | S3-compatible object storage for media and batch exports |
Why Deploy
- One-click setup — every credential (Postgres, Redis, ClickHouse, MinIO, encryption keys) is auto-generated on first deploy.
- Zero config — services are wired together with Railway companion references; no manual URL or password plumbing.
- Production-shaped — persistent volumes on all stateful services, so your data survives redeploys.
- Cost-effective — a full LLM observability stack for roughly $8.50/mo on Railway's Hobby plan.
Common Use Cases
- Tracing and debugging LLM agent/production calls (OpenAI, Anthropic, and any Langfuse SDK).
- Building evaluation pipelines over real production traces.
- Prompt versioning and management.
- Self-hosting your observability data instead of sending it to a SaaS vendor.
Dependencies
This template provisions its own Postgres, ClickHouse, Redis, and MinIO — no external services required.
Dependencies for
This template provisions all of its backing services itself — deployed together as a single project.
Deployment Dependencies
- Postgres — provisioned in-project (persistent volume at
/var/lib/postgresql/data) - ClickHouse — provisioned in-project (persistent volume at
/var/lib/clickhouse) - Redis — provisioned in-project (persistent volume at
/data) - MinIO — provisioned in-project (persistent volume at
/data)
No external databases, queues, or storage are required.
Configuration
All environment variables are managed by Railway. On first deploy:
ENCRYPTION_KEYis auto-generated (64-char hex)NEXTAUTH_SECRETandSALTare auto-generated- Database credentials are auto-generated per service
- Redis password is auto-generated
After Deploy
- Open the web app at your Railway public domain.
- Create your first organization and project.
- Use the generated API keys to integrate Langfuse with your LLM applications.
Storage
- Postgres: Persistent volume at
/var/lib/postgresql/data - ClickHouse: Persistent volume at
/var/lib/clickhouse - Redis: Persistent volume at
/data - MinIO: Persistent volume at
/data
Resource Estimates
| Service | Memory | Cost/mo |
|---|---|---|
| langfuse-web | 512 MB | ~$2 |
| langfuse-worker | 512 MB | ~$2 |
| postgres | 256 MB | ~$1 |
| clickhouse | 512 MB | ~$2 |
| redis | 128 MB | ~$0.50 |
| minio | 256 MB | ~$1 |
| Total | ~2.2 GB | ~$8.50 |
Updating
To update Langfuse, redeploy with the new image tag. Database migrations run automatically on startup.
License
Langfuse is MIT-licensed. See https://github.com/langfuse/langfuse for details.
Template Content
clickhouse
clickhouse/clickhouse-server:25.12postgres
postgres:17langfuse-worker
INAPP-Mobile/railway-langfuse-v3langfuse-web
INAPP-Mobile/railway-langfuse-v3