Back to Templates
Langfuse logo

Langfuse

v4

Langfuse is an open-source LLM engineering platform for tracing, prompt management, evaluation, and cost/usage analytics of LLM applications.

Deploy on Dokploy

Deploy Langfuse on Dokploy

  1. Install Dokploy on your server if you haven't already.
  2. In your Dokploy panel, open a project and click Create Service → Template.
  3. Search for Langfuse and click Create — Dokploy configures domains, environment variables, and volumes for you.

Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:

base64
ewogICJjb21wb3NlIjogIiMgTGFuZ2Z1c2Ugc2VsZi1ob3N0ZWQsIGFkYXB0ZWQgZnJvbSB0aGUgb2ZmaWNpYWwgZG9ja2VyLWNvbXBvc2UueW1sOlxuIyBodHRwczovL2dpdGh1Yi5jb20vbGFuZ2Z1c2UvbGFuZ2Z1c2UvYmxvYi9tYWluL2RvY2tlci1jb21wb3NlLnltbFxuI1xuIyBNaW5JTyBpcyBleHBvc2VkIG9uIGl0cyBvd24gZG9tYWluIGJlY2F1c2UgTGFuZ2Z1c2UncyB3ZWIgVUkgZ2VuZXJhdGVzXG4jIHByZXNpZ25lZCBTMyBVUkxzIHRoYXQgdGhlIGJyb3dzZXIgZmV0Y2hlcyBkaXJlY3RseSAoZS5nLiBtZWRpYSBpblxuIyB0cmFjZXMpIC0gaXQgY2Fubm90IHJlc29sdmUgdGhlIGludGVybmFsIFwibWluaW9cIiBob3N0bmFtZS5cblxuc2VydmljZXM6XG4gIHBvc3RncmVzOlxuICAgIGltYWdlOiBkb2NrZXIuaW8vcG9zdGdyZXM6MTdcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGVudmlyb25tZW50OlxuICAgICAgUE9TVEdSRVNfVVNFUjogcG9zdGdyZXNcbiAgICAgIFBPU1RHUkVTX1BBU1NXT1JEOiAke1BPU1RHUkVTX1BBU1NXT1JEfVxuICAgICAgUE9TVEdSRVNfREI6IHBvc3RncmVzXG4gICAgICBUWjogVVRDXG4gICAgICBQR1RaOiBVVENcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6IFtcIkNNRC1TSEVMTFwiLCBcInBnX2lzcmVhZHkgLVUgcG9zdGdyZXNcIl1cbiAgICAgIGludGVydmFsOiAzc1xuICAgICAgdGltZW91dDogM3NcbiAgICAgIHJldHJpZXM6IDEwXG4gICAgdm9sdW1lczpcbiAgICAgIC0gbGFuZ2Z1c2UtcG9zdGdyZXMtZGF0YTovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGFcblxuICBjbGlja2hvdXNlOlxuICAgIGltYWdlOiBkb2NrZXIuaW8vY2xpY2tob3VzZS9jbGlja2hvdXNlLXNlcnZlcjoyNS4xMlxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgdXNlcjogXCIxMDE6MTAxXCJcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIENMSUNLSE9VU0VfREI6IGRlZmF1bHRcbiAgICAgIENMSUNLSE9VU0VfVVNFUjogY2xpY2tob3VzZVxuICAgICAgQ0xJQ0tIT1VTRV9QQVNTV09SRDogJHtDTElDS0hPVVNFX1BBU1NXT1JEfVxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogd2dldCAtLW5vLXZlcmJvc2UgLS10cmllcz0xIC0tc3BpZGVyIGh0dHA6Ly9sb2NhbGhvc3Q6ODEyMy9waW5nIHx8IGV4aXQgMVxuICAgICAgaW50ZXJ2YWw6IDVzXG4gICAgICB0aW1lb3V0OiA1c1xuICAgICAgcmV0cmllczogMTBcbiAgICAgIHN0YXJ0X3BlcmlvZDogMXNcbiAgICB2b2x1bWVzOlxuICAgICAgLSBsYW5nZnVzZS1jbGlja2hvdXNlLWRhdGE6L3Zhci9saWIvY2xpY2tob3VzZVxuICAgICAgLSBsYW5nZnVzZS1jbGlja2hvdXNlLWxvZ3M6L3Zhci9sb2cvY2xpY2tob3VzZS1zZXJ2ZXJcblxuICBtaW5pbzpcbiAgICBpbWFnZTogY2dyLmRldi9jaGFpbmd1YXJkL21pbmlvXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnRyeXBvaW50OiBzaFxuICAgIGNvbW1hbmQ6IC1jICdta2RpciAtcCAvZGF0YS9sYW5nZnVzZSAmJiBtaW5pbyBzZXJ2ZXIgLS1hZGRyZXNzIFwiOjkwMDBcIiAtLWNvbnNvbGUtYWRkcmVzcyBcIjo5MDAxXCIgL2RhdGEnXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBNSU5JT19ST09UX1VTRVI6IG1pbmlvXG4gICAgICBNSU5JT19ST09UX1BBU1NXT1JEOiAke01JTklPX1JPT1RfUEFTU1dPUkR9XG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTURcIiwgXCJtY1wiLCBcInJlYWR5XCIsIFwibG9jYWxcIl1cbiAgICAgIGludGVydmFsOiAxc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDVcbiAgICAgIHN0YXJ0X3BlcmlvZDogMXNcbiAgICB2b2x1bWVzOlxuICAgICAgLSBsYW5nZnVzZS1taW5pby1kYXRhOi9kYXRhXG5cbiAgcmVkaXM6XG4gICAgaW1hZ2U6IGRvY2tlci5pby9yZWRpczo3XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBjb21tYW5kOiA+XG4gICAgICAtLXJlcXVpcmVwYXNzICR7UkVESVNfQVVUSH1cbiAgICAgIC0tbWF4bWVtb3J5LXBvbGljeSBub2V2aWN0aW9uXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTURcIiwgXCJyZWRpcy1jbGlcIiwgXCJwaW5nXCJdXG4gICAgICBpbnRlcnZhbDogM3NcbiAgICAgIHRpbWVvdXQ6IDEwc1xuICAgICAgcmV0cmllczogMTBcbiAgICB2b2x1bWVzOlxuICAgICAgLSBsYW5nZnVzZS1yZWRpcy1kYXRhOi9kYXRhXG5cbiAgbGFuZ2Z1c2Utd29ya2VyOlxuICAgIGltYWdlOiBkb2NrZXIuaW8vbGFuZ2Z1c2UvbGFuZ2Z1c2Utd29ya2VyOjRcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGRlcGVuZHNfb246ICZsYW5nZnVzZS1kZXBlbmRzLW9uXG4gICAgICBwb3N0Z3JlczpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHlcbiAgICAgIG1pbmlvOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgICAgcmVkaXM6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgICBjbGlja2hvdXNlOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgIGVudmlyb25tZW50OiAmbGFuZ2Z1c2Utd29ya2VyLWVudlxuICAgICAgTkVYVEFVVEhfVVJMOiAke05FWFRBVVRIX1VSTH1cbiAgICAgIERBVEFCQVNFX1VSTDogcG9zdGdyZXNxbDovL3Bvc3RncmVzOiR7UE9TVEdSRVNfUEFTU1dPUkR9QHBvc3RncmVzOjU0MzIvcG9zdGdyZXNcbiAgICAgIFNBTFQ6ICR7U0FMVH1cbiAgICAgIEVOQ1JZUFRJT05fS0VZOiAke0VOQ1JZUFRJT05fS0VZfVxuICAgICAgVEVMRU1FVFJZX0VOQUJMRUQ6IFwidHJ1ZVwiXG4gICAgICBMQU5HRlVTRV9FTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTOiBcImZhbHNlXCJcbiAgICAgIENMSUNLSE9VU0VfTUlHUkFUSU9OX1VSTDogY2xpY2tob3VzZTovL2NsaWNraG91c2U6OTAwMFxuICAgICAgQ0xJQ0tIT1VTRV9VUkw6IGh0dHA6Ly9jbGlja2hvdXNlOjgxMjNcbiAgICAgIENMSUNLSE9VU0VfVVNFUjogY2xpY2tob3VzZVxuICAgICAgQ0xJQ0tIT1VTRV9QQVNTV09SRDogJHtDTElDS0hPVVNFX1BBU1NXT1JEfVxuICAgICAgQ0xJQ0tIT1VTRV9DTFVTVEVSX0VOQUJMRUQ6IFwiZmFsc2VcIlxuICAgICAgTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX0JVQ0tFVDogbGFuZ2Z1c2VcbiAgICAgIExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9SRUdJT046IGF1dG9cbiAgICAgIExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9BQ0NFU1NfS0VZX0lEOiBtaW5pb1xuICAgICAgTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX1NFQ1JFVF9BQ0NFU1NfS0VZOiAke01JTklPX1JPT1RfUEFTU1dPUkR9XG4gICAgICBMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRU5EUE9JTlQ6IGh0dHA6Ly9taW5pbzo5MDAwXG4gICAgICBMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRk9SQ0VfUEFUSF9TVFlMRTogXCJ0cnVlXCJcbiAgICAgIExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9QUkVGSVg6IGV2ZW50cy9cbiAgICAgIExBTkdGVVNFX1MzX01FRElBX1VQTE9BRF9CVUNLRVQ6IGxhbmdmdXNlXG4gICAgICBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfUkVHSU9OOiBhdXRvXG4gICAgICBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfQUNDRVNTX0tFWV9JRDogbWluaW9cbiAgICAgIExBTkdGVVNFX1MzX01FRElBX1VQTE9BRF9TRUNSRVRfQUNDRVNTX0tFWTogJHtNSU5JT19ST09UX1BBU1NXT1JEfVxuICAgICAgTEFOR0ZVU0VfUzNfTUVESUFfVVBMT0FEX0VORFBPSU5UOiBodHRwOi8vbWluaW86OTAwMFxuICAgICAgTEFOR0ZVU0VfUzNfTUVESUFfVVBMT0FEX0ZPUkNFX1BBVEhfU1RZTEU6IFwidHJ1ZVwiXG4gICAgICBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfUFJFRklYOiBtZWRpYS9cbiAgICAgIExBTkdGVVNFX1MzX0JBVENIX0VYUE9SVF9FTkFCTEVEOiBcImZhbHNlXCJcbiAgICAgIFJFRElTX0hPU1Q6IHJlZGlzXG4gICAgICBSRURJU19QT1JUOiBcIjYzNzlcIlxuICAgICAgUkVESVNfQVVUSDogJHtSRURJU19BVVRIfVxuICAgICAgUkVESVNfVExTX0VOQUJMRUQ6IFwiZmFsc2VcIlxuXG4gIGxhbmdmdXNlLXdlYjpcbiAgICBpbWFnZTogZG9ja2VyLmlvL2xhbmdmdXNlL2xhbmdmdXNlOjRcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGRlcGVuZHNfb246ICpsYW5nZnVzZS1kZXBlbmRzLW9uXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICA8PDogKmxhbmdmdXNlLXdvcmtlci1lbnZcbiAgICAgICMgQmluZCBOZXh0LmpzIHRvIGFsbCBpbnRlcmZhY2VzOiBEb2NrZXIgc2V0cyBIT1NUTkFNRSB0byB0aGUgY29udGFpbmVyIGlkLFxuICAgICAgIyB3aGljaCByZXNvbHZlcyB0byBhIHNpbmdsZSBuZXR3b3JrJ3MgSVAgLSB3aXRoIERva3Bsb3kncyBleHRyYSBwcm94eVxuICAgICAgIyBuZXR3b3JrIGF0dGFjaGVkLCBUcmFlZmlrIHdvdWxkIGdldCBjb25uZWN0aW9uIHJlZnVzZWQgKDUwMikgb3RoZXJ3aXNlLlxuICAgICAgSE9TVE5BTUU6IFwiMC4wLjAuMFwiXG4gICAgICBORVhUQVVUSF9TRUNSRVQ6ICR7TkVYVEFVVEhfU0VDUkVUfVxuICAgICAgIyBPdmVycmlkZXMgdGhlIHdvcmtlcidzIGludGVybmFsIGVuZHBvaW50IGFib3ZlOiB0aGUgYnJvd3NlciByZXNvbHZlc1xuICAgICAgIyBwcmVzaWduZWQgbWVkaWEgVVJMcyBpdHNlbGYsIHNvIHRoaXMgb25lIG11c3QgYmUgcHVibGljbHkgcmVhY2hhYmxlLlxuICAgICAgTEFOR0ZVU0VfUzNfTUVESUFfVVBMT0FEX0VORFBPSU5UOiAke0xBTkdGVVNFX1MzX01FRElBX1BVQkxJQ19FTkRQT0lOVH1cblxudm9sdW1lczpcbiAgbGFuZ2Z1c2UtcG9zdGdyZXMtZGF0YTpcbiAgbGFuZ2Z1c2UtY2xpY2tob3VzZS1kYXRhOlxuICBsYW5nZnVzZS1jbGlja2hvdXNlLWxvZ3M6XG4gIGxhbmdmdXNlLW1pbmlvLWRhdGE6XG4gIGxhbmdmdXNlLXJlZGlzLWRhdGE6IiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbm1pbmlvX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbnBvc3RncmVzX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5jbGlja2hvdXNlX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5taW5pb19yb290X3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5yZWRpc19hdXRoID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5uZXh0YXV0aF9zZWNyZXQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbnNhbHQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbmVuY3J5cHRpb25fa2V5ID0gXCIke2hhc2g6NjR9XCJcbm5leHRhdXRoX3VybCA9IFwiaHR0cDovLyR7bWFpbl9kb21haW59XCJcbm1pbmlvX3B1YmxpY19lbmRwb2ludCA9IFwiaHR0cDovLyR7bWluaW9fZG9tYWlufVwiXG5cbltjb25maWddXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJsYW5nZnVzZS13ZWJcIlxucG9ydCA9IDMwMDBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwibWluaW9cIlxucG9ydCA9IDkwMDBcbmhvc3QgPSBcIiR7bWluaW9fZG9tYWlufVwiXG5cbltjb25maWcuZW52XVxuUE9TVEdSRVNfUEFTU1dPUkQgPSBcIiR7cG9zdGdyZXNfcGFzc3dvcmR9XCJcbkNMSUNLSE9VU0VfUEFTU1dPUkQgPSBcIiR7Y2xpY2tob3VzZV9wYXNzd29yZH1cIlxuTUlOSU9fUk9PVF9QQVNTV09SRCA9IFwiJHttaW5pb19yb290X3Bhc3N3b3JkfVwiXG5SRURJU19BVVRIID0gXCIke3JlZGlzX2F1dGh9XCJcbk5FWFRBVVRIX1NFQ1JFVCA9IFwiJHtuZXh0YXV0aF9zZWNyZXR9XCJcblNBTFQgPSBcIiR7c2FsdH1cIlxuRU5DUllQVElPTl9LRVkgPSBcIiR7ZW5jcnlwdGlvbl9rZXl9XCJcbiMgU2V0IHRvIGh0dHBzOi8vPG1haW4tZG9tYWluPiBvbmNlIEhUVFBTIGlzIGVuYWJsZWQgb24gdGhlIGRvbWFpblxuTkVYVEFVVEhfVVJMID0gXCIke25leHRhdXRoX3VybH1cIlxuIyBTZXQgdG8gaHR0cHM6Ly88bWluaW8tZG9tYWluPiBvbmNlIEhUVFBTIGlzIGVuYWJsZWQgb24gdGhlIGRvbWFpblxuTEFOR0ZVU0VfUzNfTUVESUFfUFVCTElDX0VORFBPSU5UID0gXCIke21pbmlvX3B1YmxpY19lbmRwb2ludH1cIiIKfQ==

Configuration

The exact Docker Compose and template configuration this template deploys.

Instructions

Langfuse

Self-hosted Langfuse: open-source LLM tracing, prompt management, evaluation and cost/usage analytics, based on the official docker-compose.yml.

Two domains

This template exposes two domains:

  • The main domain serves the Langfuse web app/API (langfuse-web, port 3000).
  • The second domain exposes MinIO's S3 API (port 9000) directly. Langfuse's web UI generates presigned URLs for media (e.g. images attached to traces) that the browser fetches straight from MinIO, so this endpoint has to be publicly reachable — it isn't just an internal implementation detail.

First boot

langfuse-web and langfuse-worker wait on Postgres, ClickHouse, Redis and MinIO to report healthy, then run their own migrations on startup. Once langfuse-web is up, open its domain and create the first user — they become the owner of the initial organization.

After enabling HTTPS

By default NEXTAUTH_URL and LANGFUSE_S3_MEDIA_PUBLIC_ENDPOINT are set to http://. If you enable HTTPS on either domain (recommended for production), update the matching environment variable to https://<domain> and redeploy, otherwise auth callbacks and media URLs will point at the wrong scheme.

Licensing

The core of Langfuse (tracing, prompt management, evaluation, playground) is open-source (MIT) and fully usable self-hosted without a license key. Some enterprise-only features (e.g. SSO/SAML, fine-grained RBAC) live under a separate commercial license — see self-hosting license docs. This template does not configure a license key.

Versioning

Images are pinned to the 4 major tag (langfuse/langfuse:4, langfuse/langfuse-worker:4), matching the upstream compose file. To pin to a specific release instead, replace 4 with a version tag from Docker Hub.

Related Templates

Self-host Langfuse in minutes

Dokploy is a free, open source deployment platform. Deploy Langfuse and 517+ other templates on your own infrastructure with a single click.