Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Environment:Langfuse Langfuse Docker Infrastructure

From Leeroopedia
Knowledge Sources
Domains Infrastructure, Containerization
Last Updated 2026-02-14 06:00 GMT

Overview

Docker Compose orchestration for PostgreSQL 17, ClickHouse 25.8, Redis 7.2.4, and MinIO blob storage on a shared bridge network with persistent volumes.

Description

Langfuse uses Docker Compose to orchestrate all infrastructure services for local development and production deployment. The development configuration (docker-compose.dev.yml) provides PostgreSQL, ClickHouse, Redis, and MinIO on a shared langfuse-network bridge network with persistent volumes. Additional configurations exist for Azure Blob testing (docker-compose.dev-azure.yml) and Redis Cluster testing (docker-compose.dev-redis-cluster.yml). Production images use multi-stage Alpine-based Docker builds.

Usage

Use this environment for local development setup and production container deployment. The pnpm run infra:dev:up command starts all infrastructure services required for development.

System Requirements

Category Requirement Notes
Software Docker Engine 20+ Docker Desktop on macOS/Windows
Software Docker Compose v2+ Included with Docker Desktop
RAM 4GB+ For all 4 services running simultaneously
Disk 10GB+ For Docker images and persistent volumes

Dependencies

Docker Images

  • postgres:17 (configurable via POSTGRES_VERSION)
  • clickhouse/clickhouse-server:25.8 (development)
  • redis:7.2.4 (development); redis:7 (production)
  • cgr.dev/chainguard/minio (Chainguard secure MinIO image)
  • node:24-alpine (application base image)

Docker Volumes

  • langfuse_postgres_data: PostgreSQL data persistence
  • langfuse_clickhouse_data: ClickHouse data persistence
  • langfuse_clickhouse_logs: ClickHouse log files
  • langfuse_minio_data: MinIO blob storage

Credentials

Default development credentials (from .env.dev.example):

  • PostgreSQL: user=postgres, password=postgres, db=postgres
  • ClickHouse: user=clickhouse, password=clickhouse
  • Redis: password=myredissecret
  • MinIO: user=minio, password=miniosecret
  • Web Login: email=demo@langfuse.com, password=password

Quick Install

# Copy environment file
cp .env.dev.example .env

# Start all infrastructure services
pnpm run infra:dev:up

# (Or full setup including DB reset and seed)
pnpm run dx

# Stop all infrastructure services
pnpm run infra:dev:down

# Nuclear option: remove everything
pnpm run nuke

Code Evidence

Network configuration from docker-compose.dev.yml:

networks:
  langfuse-network:
    driver: bridge
    name: langfuse-network

MinIO service with Chainguard image:

minio:
  image: cgr.dev/chainguard/minio
  entrypoint: sh
  command: -c 'mkdir -p /data/langfuse && minio server /data --console-address ":9001"'
  environment:
    MINIO_ROOT_USER: minio
    MINIO_ROOT_PASSWORD: miniosecret
  ports:
    - "127.0.0.1:9090:9000"
    - "127.0.0.1:9091:9001"

Common Errors

Error Message Cause Solution
port is already allocated Port conflict with existing service Stop conflicting service or change port mapping
no space left on device Docker volumes full Run docker system prune or increase disk
network langfuse-network not found Network not created Run docker compose up to auto-create

Compatibility Notes

  • macOS (Apple Silicon): All images support ARM64. Docker Desktop with Rosetta may be needed for some ClickHouse features.
  • Linux: Native support; ensure Docker group permissions.
  • Windows: Use WSL2 backend with Docker Desktop.
  • Port Bindings: All development ports bind to 127.0.0.1 only (not exposed externally).
  • ClickHouse UID: Runs as user 101:101 in the container.

Related Pages

Page Connections

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