Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:Langfuse Langfuse Node 24 Runtime

From Leeroopedia
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-migrate v4.19.1 (database migrations)

Core Framework Packages

  • next = 15.5.10 (web framework)
  • react = 19.2.3
  • express = 5.2.1 (worker framework)
  • typescript = 5.7.2
  • turbo = 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.0
  • dd-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.15
  • tiktoken = 1.0.20 (token counting)

Validation

  • zod = 3.25.62 (always import from zod/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-alpine with 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.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment