Environment:Langfuse Langfuse Node 24 Runtime
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, Runtime |
| Last Updated | 2026-02-14 06:00 GMT |
Overview
Node.js 24 runtime environment with pnpm 9.5.0 package manager, TypeScript 5.7.2, and Turbo 2.8.7 monorepo orchestration for the Langfuse web application and worker.
Description
This environment defines the core JavaScript/TypeScript runtime required to build and run Langfuse. The monorepo uses pnpm workspaces with Turbo for build orchestration across three main packages: web (Next.js 15 application), worker (Express.js background processor), and packages/shared (shared types and utilities). The Alpine-based Docker images use node:24-alpine as the base.
Usage
Use this environment for all development, building, and deployment of Langfuse. Every package in the monorepo requires Node.js 24+ as specified in the .nvmrc file and engines fields in package.json.
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Linux (Ubuntu/Alpine), macOS | Docker images use Alpine Linux |
| Runtime | Node.js 24 (v24.6.0) | Specified in .nvmrc
|
| Package Manager | pnpm 9.5.0 | Specified in package.json packageManager field
|
| Disk | 2GB+ | For node_modules and build artifacts
|
Dependencies
System Packages
dumb-init(Docker process manager)tzdata(timezone data)libcrypto3,libssl3,libc6-compat(security libraries)golang-migratev4.19.1 (database migrations)
Core Framework Packages
next= 15.5.10 (web framework)react= 19.2.3express= 5.2.1 (worker framework)typescript= 5.7.2turbo= 2.8.7 (monorepo orchestration)
Database & Queue Packages
@prisma/client= 6.17.1 (PostgreSQL ORM)@clickhouse/client= 1.13.0 (ClickHouse client)bullmq= 5.34.10 (job queues)ioredis= 5.8.2 (Redis client)kysely= 0.27.4 (query builder)
Observability Packages
@opentelemetry/api>= 1.0.0@opentelemetry/sdk-trace-node= 1.26.0@sentry/nextjs= 10.30.0dd-trace= 5.65.0 (Datadog APM, optional)
LLM Integration Packages
@langchain/core= 0.3.80@langchain/openai= 0.5.13@langchain/anthropic= 0.3.32@langchain/google-genai= 0.2.18@langchain/aws= 0.1.15tiktoken= 1.0.20 (token counting)
Validation
zod= 3.25.62 (always import fromzod/v4)
Credentials
No credentials are required for the runtime environment itself. See Environment:Langfuse_Langfuse_PostgreSQL_17, Environment:Langfuse_Langfuse_ClickHouse_Analytics, and Environment:Langfuse_Langfuse_S3_Compatible_Storage for database and storage credentials.
Quick Install
# Install Node.js 24 via nvm
nvm install 24
nvm use 24
# Install pnpm
corepack enable
corepack prepare pnpm@9.5.0 --activate
# Install dependencies
pnpm install
# Start development (all services)
pnpm run dev
Code Evidence
Node.js version specified in .nvmrc:
24
Package manager specified in root package.json:
{
"packageManager": "pnpm@9.5.0",
"engines": {
"node": ">=24"
}
}
Docker base image from web/Dockerfile:
FROM node:24-alpine AS base
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
Unsupported engine: expected ">=24" |
Node.js version too old | Run nvm use 24 or install Node.js 24
|
ERR_PNPM_UNSUPPORTED_ENGINE |
Wrong pnpm version | Run corepack prepare pnpm@9.5.0 --activate
|
Cannot find module 'zod/v4' |
Zod v4 import path not available | Ensure zod >= 3.25.0 is installed; always import from zod/v4
|
Compatibility Notes
- Docker: Production images use Alpine-based
node:24-alpinewith multi-stage builds. - macOS: Fully supported for local development. Some Docker services may need Rosetta on Apple Silicon.
- Windows: Not officially supported; use WSL2.
- Testing: Web package uses Jest 30.2.0; worker package uses Vitest 3.2.4; E2E uses Playwright 1.57.0.