Where Does Self-Hosted Langfuse Store Data?
Self-hosted Langfuse persists in Postgres and ClickHouse Docker volumes. Config comes from environment, data from the volumes.
Last updated
Langfuse splits state the way most observability stacks do: Postgres for projects, users, and prompt metadata, ClickHouse for trace events, object storage for large payloads, Redis for queues and cache. The Docker deployment names volumes for the databases, while connection strings and secrets arrive as environment variables.
Volume names follow the compose project, so confirm exact names in your compose file before scripting backups. Local deploys keep everything on one host, which makes full stack snapshots easy. Production splits across managed services, where each provider's own backup covers its piece.
Where Langfuse stores this, by platform
/var/lib/docker/volumes/[project]_postgres-data
Named volumes for Postgres and ClickHouse plus object storage buckets. Confirm volume names in your compose file. Config lives in environment, so back up the env file with the volumes.
Frequently asked questions
What must I back up?
Back up the Postgres volume for metadata plus the ClickHouse volume for event history. One without the other restores an app that opens yet shows no traces. Snapshot both with the stack stopped.
Is the database backup enough?
No. Object storage holds bulky event payloads and media the databases only reference. Skip it and restored traces show gaps. Include the bucket contents in every backup plan.
Notice an outdated path? Let us know.