Skip to content

Self-host Langfuse

updated Oct 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Oct 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

An open-source LLM engineering platform: traces for LLM calls and agents, prompt management and versioning, evaluations (including LLM-as-judge), datasets and a playground. Its SDKs and OpenTelemetry ingest feed a Postgres + ClickHouse + Redis + S3-compatible-storage stack, so it is a real multi-service deployment, not a single container.

Key facts

LicenseMIT core with proprietary enterprise modules
StackTypeScript, Next.js, PostgreSQL, ClickHouse, Redis
Min RAM4096 MB
Official imageyes
Measured idle RAM2657 MB
Difficulty
Our recommendation

Pick Langfuse when you are building LLM apps or agents and need traces, prompt versioning and evaluations on infrastructure you control. It is the most capable open-source option here for LLM-specific observability, but it is a real multi-service stack, not a one-container tool — if you only need general metrics and logs, Grafana or OpenObserve are far lighter.

What you need

  • Any VPS with at least 4096 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • About an afternoon — budget time for troubleshooting
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# Langfuse — upstream docker-compose.yml from the v4.57.0 tag, secrets generated into .env (compose reads it automatically)
git clone --depth=1 --branch v4.57.0 https://github.com/langfuse/langfuse.git && cd langfuse
PG=$(openssl rand -hex 16); S3=$(openssl rand -hex 16)
cat > .env <<EOF
POSTGRES_PASSWORD=$PG
DATABASE_URL=postgresql://postgres:$PG@postgres:5432/postgres
SALT=$(openssl rand -hex 16)
ENCRYPTION_KEY=$(openssl rand -hex 32)
NEXTAUTH_SECRET=$(openssl rand -hex 32)
NEXTAUTH_URL=http://SERVER_IP:3000
CLICKHOUSE_PASSWORD=$(openssl rand -hex 16)
REDIS_AUTH=$(openssl rand -hex 16)
MINIO_ROOT_PASSWORD=$S3
LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=$S3
LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=$S3
LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY=$S3
TELEMETRY_ENABLED=false
EOF
docker compose up -d  #  →  http://SERVER_IP:3000  (sign up: the first account becomes the owner)
# web (3000) and MinIO (9090, used for media uploads) are published on all interfaces, no TLS; every other service binds 127.0.0.1

What you take on

Langfuse's self-hosted footprint and licence structure are the things to check first:

non-negotiableThe stack is six containers — web, worker, Postgres, ClickHouse, Redis and S3-compatible storage (MinIO) — and idled around 2.6 GB of RAM in our install check. Plan a 4 GB box as the floor, and more once real trace volume arrives.
non-negotiableThe repository's compose file ships placeholder secrets marked CHANGEME (database, Redis, ClickHouse, MinIO, SALT, ENCRYPTION_KEY, NEXTAUTH_SECRET). The install here generates its own in .env; keep that file, because losing ENCRYPTION_KEY makes stored credentials unreadable.
non-negotiableWeb (3000) and MinIO (9090, used for media uploads from the browser) are published on all interfaces without TLS; the other services bind to 127.0.0.1. Put both behind a reverse proxy before exposing them.
non-negotiableYour data lives in three places — Postgres, ClickHouse and MinIO. A backup has to cover all three volumes, not just the database.
non-negotiableIt is MIT with exceptions: files under the ee/ directories carry a separate enterprise licence. The project's copyright is now held by ClickHouse, Inc. Anonymous telemetry is on by default; the install sets TELEMETRY_ENABLED=false.

More in Observability

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.