---
title: "Deploy Langfuse"
description: "Open-source LLM tracing, evals and prompt management on Langfuse v4"
category: "Observability"
url: https://railway.com/deploy/langfuse-1
---

# Deploy Langfuse

Open-source LLM tracing, evals and prompt management on Langfuse v4

**[Deploy Langfuse on Railway](https://railway.com/template/langfuse-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/langfuse-1/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Observability

## Template content

### Langfuse-Worker

- **Image:** langfuse/langfuse-worker:4.78.0@sha256:175a32200b9908b283104e67b84d080381e841daa8ee6692f5bb26538df1a59e
- **Start command:** `/bin/sh -c "echo IyEvYmluL3NoCiMgU3RhcnQgc2NyaXB0IGZvciB0aGUgTGFuZ2Z1c2Ugd2ViIGFuZCB3b3JrZXIgc2VydmljZXMgKGltYWdlcyBsYW5nZnVzZS9sYW5nZnVzZQojIGFuZCBsYW5nZnVzZS9sYW5nZnVzZS13b3JrZXIpLiBVc2FnZTogbGFuZ2Z1c2Uuc2ggd2VifHdvcmtlcgojIEZpeGVkIHNldHRpbmdzIGdldCBhIGRlZmF1bHQgaGVyZTsgYW55IHZhcmlhYmxlIHNldCBvbiB0aGUgUmFpbHdheSBzZXJ2aWNlIHdpbnMuCnNldCAtZQpST0xFPSIkezE6P3VzYWdlOiBsYW5nZnVzZS5zaCB3ZWJ8d29ya2VyfSIKZGVmKCkgeyBpZiBbIC16ICIkKHByaW50ZW52ICIkMSIpIiBdOyB0aGVuIGV4cG9ydCAiJDE9JDIiOyBmaTsgfQoKIyBMaXN0ZW4gb24gSVB2NCBhbmQgSVB2NiAoUmFpbHdheSdzIHByaXZhdGUgbmV0d29yayB1c2VzIElQdjYpLgpleHBvcnQgSE9TVE5BTUU9OjoKCiMgQ2xpY2tIb3VzZSAoc2VydmljZSAiQ2xpY2tIb3VzZSIsIHVzZXIgc2V0IGJ5IGl0cyBvd24gc3RhcnQgc2NyaXB0KS4KZGVmIENMSUNLSE9VU0VfVVNFUiBjbGlja2hvdXNlCmRlZiBDTElDS0hPVVNFX0RCIGRlZmF1bHQKZGVmIENMSUNLSE9VU0VfQ0xVU1RFUl9FTkFCTEVEIGZhbHNlCgojIFJlZGlzIChCdWxsTVEgcXVldWVzIGFuZCBjYWNoZSkuCmRlZiBSRURJU19QT1JUIDYzNzkKCiMgUzM6IG9uZSBSYWlsd2F5IGJ1Y2tldCBob2xkcyByYXcgZXZlbnRzLCBtZWRpYSBhbmQgYmF0Y2ggZXhwb3J0cyB1bmRlcgojIHNlcGFyYXRlIHByZWZpeGVzLiBUaGUgdGVtcGxhdGUgc2V0cyB0aGUgTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEXyogdmFsdWVzOwojIG1lZGlhIGFuZCBleHBvcnQgc2V0dGluZ3MgYXJlIGNvcGllZCBmcm9tIHRoZW0gdW5sZXNzIHNldCBleHBsaWNpdGx5LgpkZWYgTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX1BSRUZJWCBldmVudHMvCmRlZiBMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRk9SQ0VfUEFUSF9TVFlMRSBmYWxzZQpkZWYgTEFOR0ZVU0VfUzNfTUVESUFfVVBMT0FEX0JVQ0tFVCAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9CVUNLRVQiCmRlZiBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfUkVHSU9OICIkTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX1JFR0lPTiIKZGVmIExBTkdGVVNFX1MzX01FRElBX1VQTE9BRF9FTkRQT0lOVCAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9FTkRQT0lOVCIKZGVmIExBTkdGVVNFX1MzX01FRElBX1VQTE9BRF9BQ0NFU1NfS0VZX0lEICIkTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX0FDQ0VTU19LRVlfSUQiCmRlZiBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfU0VDUkVUX0FDQ0VTU19LRVkgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfU0VDUkVUX0FDQ0VTU19LRVkiCmRlZiBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfRk9SQ0VfUEFUSF9TVFlMRSAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9GT1JDRV9QQVRIX1NUWUxFIgpkZWYgTEFOR0ZVU0VfUzNfTUVESUFfVVBMT0FEX1BSRUZJWCBtZWRpYS8KZGVmIExBTkdGVVNFX1MzX0JBVENIX0VYUE9SVF9FTkFCTEVEIHRydWUKZGVmIExBTkdGVVNFX1MzX0JBVENIX0VYUE9SVF9CVUNLRVQgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfQlVDS0VUIgpkZWYgTEFOR0ZVU0VfUzNfQkFUQ0hfRVhQT1JUX1JFR0lPTiAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9SRUdJT04iCmRlZiBMQU5HRlVTRV9TM19CQVRDSF9FWFBPUlRfRU5EUE9JTlQgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRU5EUE9JTlQiCmRlZiBMQU5HRlVTRV9TM19CQVRDSF9FWFBPUlRfRVhURVJOQUxfRU5EUE9JTlQgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRU5EUE9JTlQiCmRlZiBMQU5HRlVTRV9TM19CQVRDSF9FWFBPUlRfQUNDRVNTX0tFWV9JRCAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9BQ0NFU1NfS0VZX0lEIgpkZWYgTEFOR0ZVU0VfUzNfQkFUQ0hfRVhQT1JUX1NFQ1JFVF9BQ0NFU1NfS0VZICIkTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX1NFQ1JFVF9BQ0NFU1NfS0VZIgpkZWYgTEFOR0ZVU0VfUzNfQkFUQ0hfRVhQT1JUX0ZPUkNFX1BBVEhfU1RZTEUgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRk9SQ0VfUEFUSF9TVFlMRSIKZGVmIExBTkdGVVNFX1MzX0JBVENIX0VYUE9SVF9QUkVGSVggZXhwb3J0cy8KCmNhc2UgIiRST0xFIiBpbgogIHdlYikKICAgIGRlZiBQT1JUIDMwMDAKICAgICMgTm9ib2R5IGNhbiBzaWduIHVwIG9uIGEgZnJlc2ggcHVibGljIFVSTDogdGhlIGZpcnN0IHVzZXIgY29tZXMgZnJvbSB0aGUKICAgICMgTEFOR0ZVU0VfSU5JVF8qIHZhcmlhYmxlcy4gU2V0IEFVVEhfRElTQUJMRV9TSUdOVVA9ZmFsc2UgdG8gbGV0IGludml0ZWQKICAgICMgdGVhbW1hdGVzIGNyZWF0ZSBhY2NvdW50cy4KICAgIGRlZiBBVVRIX0RJU0FCTEVfU0lHTlVQIHRydWUKICAgIGRlZiBMQU5HRlVTRV9ESVNBQkxFX1NJR05VUF9PTkJPQVJESU5HIHRydWUKICAgIGRlZiBMQU5HRlVTRV9JTklUX09SR19JRCBkZWZhdWx0LW9yZwogICAgZGVmIExBTkdGVVNFX0lOSVRfT1JHX05BTUUgIk15IE9yZ2FuaXphdGlvbiIKICAgIGRlZiBMQU5HRlVTRV9JTklUX1BST0pFQ1RfSUQgZGVmYXVsdC1wcm9qZWN0CiAgICBkZWYgTEFOR0ZVU0VfSU5JVF9QUk9KRUNUX05BTUUgIk15IFByb2plY3QiCiAgICBkZWYgTEFOR0ZVU0VfSU5JVF9VU0VSX05BTUUgQWRtaW4KICAgIGV4ZWMgZHVtYi1pbml0IC0tIC4vd2ViL2VudHJ5cG9pbnQuc2ggbm9kZSAuL3dlYi9zZXJ2ZXIuanMgLS1rZWVwQWxpdmVUaW1lb3V0IDExMDAwMAogICAgOzsKICB3b3JrZXIpCiAgICBkZWYgUE9SVCAzMDMwCiAgICBleGVjIGR1bWItaW5pdCAtLSAuL3dvcmtlci9lbnRyeXBvaW50LnNoIG5vZGUgd29ya2VyL2Rpc3QvaW5kZXguanMKICAgIDs7CiAgKikgZWNobyAidW5rbm93biByb2xlOiAkUk9MRSIgPiYyOyBleGl0IDEgOzsKZXNhYwo= | base64 -d > /tmp/start.sh && exec /bin/sh /tmp/start.sh worker"`
- **Health check:** /api/health

### Langfuse

- **Image:** langfuse/langfuse:4.78.0@sha256:037188385ac6612d3494319fa060052da407b235502874c7ea79ade583c29002
- **Start command:** `/bin/sh -c "echo IyEvYmluL3NoCiMgU3RhcnQgc2NyaXB0IGZvciB0aGUgTGFuZ2Z1c2Ugd2ViIGFuZCB3b3JrZXIgc2VydmljZXMgKGltYWdlcyBsYW5nZnVzZS9sYW5nZnVzZQojIGFuZCBsYW5nZnVzZS9sYW5nZnVzZS13b3JrZXIpLiBVc2FnZTogbGFuZ2Z1c2Uuc2ggd2VifHdvcmtlcgojIEZpeGVkIHNldHRpbmdzIGdldCBhIGRlZmF1bHQgaGVyZTsgYW55IHZhcmlhYmxlIHNldCBvbiB0aGUgUmFpbHdheSBzZXJ2aWNlIHdpbnMuCnNldCAtZQpST0xFPSIkezE6P3VzYWdlOiBsYW5nZnVzZS5zaCB3ZWJ8d29ya2VyfSIKZGVmKCkgeyBpZiBbIC16ICIkKHByaW50ZW52ICIkMSIpIiBdOyB0aGVuIGV4cG9ydCAiJDE9JDIiOyBmaTsgfQoKIyBMaXN0ZW4gb24gSVB2NCBhbmQgSVB2NiAoUmFpbHdheSdzIHByaXZhdGUgbmV0d29yayB1c2VzIElQdjYpLgpleHBvcnQgSE9TVE5BTUU9OjoKCiMgQ2xpY2tIb3VzZSAoc2VydmljZSAiQ2xpY2tIb3VzZSIsIHVzZXIgc2V0IGJ5IGl0cyBvd24gc3RhcnQgc2NyaXB0KS4KZGVmIENMSUNLSE9VU0VfVVNFUiBjbGlja2hvdXNlCmRlZiBDTElDS0hPVVNFX0RCIGRlZmF1bHQKZGVmIENMSUNLSE9VU0VfQ0xVU1RFUl9FTkFCTEVEIGZhbHNlCgojIFJlZGlzIChCdWxsTVEgcXVldWVzIGFuZCBjYWNoZSkuCmRlZiBSRURJU19QT1JUIDYzNzkKCiMgUzM6IG9uZSBSYWlsd2F5IGJ1Y2tldCBob2xkcyByYXcgZXZlbnRzLCBtZWRpYSBhbmQgYmF0Y2ggZXhwb3J0cyB1bmRlcgojIHNlcGFyYXRlIHByZWZpeGVzLiBUaGUgdGVtcGxhdGUgc2V0cyB0aGUgTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEXyogdmFsdWVzOwojIG1lZGlhIGFuZCBleHBvcnQgc2V0dGluZ3MgYXJlIGNvcGllZCBmcm9tIHRoZW0gdW5sZXNzIHNldCBleHBsaWNpdGx5LgpkZWYgTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX1BSRUZJWCBldmVudHMvCmRlZiBMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRk9SQ0VfUEFUSF9TVFlMRSBmYWxzZQpkZWYgTEFOR0ZVU0VfUzNfTUVESUFfVVBMT0FEX0JVQ0tFVCAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9CVUNLRVQiCmRlZiBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfUkVHSU9OICIkTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX1JFR0lPTiIKZGVmIExBTkdGVVNFX1MzX01FRElBX1VQTE9BRF9FTkRQT0lOVCAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9FTkRQT0lOVCIKZGVmIExBTkdGVVNFX1MzX01FRElBX1VQTE9BRF9BQ0NFU1NfS0VZX0lEICIkTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX0FDQ0VTU19LRVlfSUQiCmRlZiBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfU0VDUkVUX0FDQ0VTU19LRVkgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfU0VDUkVUX0FDQ0VTU19LRVkiCmRlZiBMQU5HRlVTRV9TM19NRURJQV9VUExPQURfRk9SQ0VfUEFUSF9TVFlMRSAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9GT1JDRV9QQVRIX1NUWUxFIgpkZWYgTEFOR0ZVU0VfUzNfTUVESUFfVVBMT0FEX1BSRUZJWCBtZWRpYS8KZGVmIExBTkdGVVNFX1MzX0JBVENIX0VYUE9SVF9FTkFCTEVEIHRydWUKZGVmIExBTkdGVVNFX1MzX0JBVENIX0VYUE9SVF9CVUNLRVQgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfQlVDS0VUIgpkZWYgTEFOR0ZVU0VfUzNfQkFUQ0hfRVhQT1JUX1JFR0lPTiAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9SRUdJT04iCmRlZiBMQU5HRlVTRV9TM19CQVRDSF9FWFBPUlRfRU5EUE9JTlQgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRU5EUE9JTlQiCmRlZiBMQU5HRlVTRV9TM19CQVRDSF9FWFBPUlRfRVhURVJOQUxfRU5EUE9JTlQgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRU5EUE9JTlQiCmRlZiBMQU5HRlVTRV9TM19CQVRDSF9FWFBPUlRfQUNDRVNTX0tFWV9JRCAiJExBTkdGVVNFX1MzX0VWRU5UX1VQTE9BRF9BQ0NFU1NfS0VZX0lEIgpkZWYgTEFOR0ZVU0VfUzNfQkFUQ0hfRVhQT1JUX1NFQ1JFVF9BQ0NFU1NfS0VZICIkTEFOR0ZVU0VfUzNfRVZFTlRfVVBMT0FEX1NFQ1JFVF9BQ0NFU1NfS0VZIgpkZWYgTEFOR0ZVU0VfUzNfQkFUQ0hfRVhQT1JUX0ZPUkNFX1BBVEhfU1RZTEUgIiRMQU5HRlVTRV9TM19FVkVOVF9VUExPQURfRk9SQ0VfUEFUSF9TVFlMRSIKZGVmIExBTkdGVVNFX1MzX0JBVENIX0VYUE9SVF9QUkVGSVggZXhwb3J0cy8KCmNhc2UgIiRST0xFIiBpbgogIHdlYikKICAgIGRlZiBQT1JUIDMwMDAKICAgICMgTm9ib2R5IGNhbiBzaWduIHVwIG9uIGEgZnJlc2ggcHVibGljIFVSTDogdGhlIGZpcnN0IHVzZXIgY29tZXMgZnJvbSB0aGUKICAgICMgTEFOR0ZVU0VfSU5JVF8qIHZhcmlhYmxlcy4gU2V0IEFVVEhfRElTQUJMRV9TSUdOVVA9ZmFsc2UgdG8gbGV0IGludml0ZWQKICAgICMgdGVhbW1hdGVzIGNyZWF0ZSBhY2NvdW50cy4KICAgIGRlZiBBVVRIX0RJU0FCTEVfU0lHTlVQIHRydWUKICAgIGRlZiBMQU5HRlVTRV9ESVNBQkxFX1NJR05VUF9PTkJPQVJESU5HIHRydWUKICAgIGRlZiBMQU5HRlVTRV9JTklUX09SR19JRCBkZWZhdWx0LW9yZwogICAgZGVmIExBTkdGVVNFX0lOSVRfT1JHX05BTUUgIk15IE9yZ2FuaXphdGlvbiIKICAgIGRlZiBMQU5HRlVTRV9JTklUX1BST0pFQ1RfSUQgZGVmYXVsdC1wcm9qZWN0CiAgICBkZWYgTEFOR0ZVU0VfSU5JVF9QUk9KRUNUX05BTUUgIk15IFByb2plY3QiCiAgICBkZWYgTEFOR0ZVU0VfSU5JVF9VU0VSX05BTUUgQWRtaW4KICAgIGV4ZWMgZHVtYi1pbml0IC0tIC4vd2ViL2VudHJ5cG9pbnQuc2ggbm9kZSAuL3dlYi9zZXJ2ZXIuanMgLS1rZWVwQWxpdmVUaW1lb3V0IDExMDAwMAogICAgOzsKICB3b3JrZXIpCiAgICBkZWYgUE9SVCAzMDMwCiAgICBleGVjIGR1bWItaW5pdCAtLSAuL3dvcmtlci9lbnRyeXBvaW50LnNoIG5vZGUgd29ya2VyL2Rpc3QvaW5kZXguanMKICAgIDs7CiAgKikgZWNobyAidW5rbm93biByb2xlOiAkUk9MRSIgPiYyOyBleGl0IDEgOzsKZXNhYwo= | base64 -d > /tmp/start.sh && exec /bin/sh /tmp/start.sh web"`
- **Health check:** /api/public/health
- **Public domain:** Yes

### Postgres

- **Image:** postgres:17.11@sha256:ff87138949ad9a46f32ff23bd6852b52ce024a13dffe9b4087be98292cdd3b4f
- **Start command:** `/bin/sh -c "echo IyEvYmluL3NoCiMgU3RhcnQgc2NyaXB0IGZvciB0aGUgUG9zdGdyZXMgc2VydmljZSAoaW1hZ2UgcG9zdGdyZXMpLgpzZXQgLWUKZGVmKCkgeyBpZiBbIC16ICIkKHByaW50ZW52ICIkMSIpIiBdOyB0aGVuIGV4cG9ydCAiJDE9JDIiOyBmaTsgfQpkZWYgUE9TVEdSRVNfVVNFUiBwb3N0Z3JlcwpkZWYgUE9TVEdSRVNfREIgbGFuZ2Z1c2UKIyBUaGUgaW1hZ2Ugc2V0cyBQR0RBVEEgdG8gdGhlIHZvbHVtZSByb290LCB3aGljaCBob2xkcyBsb3N0K2ZvdW5kIG9uIFJhaWx3YXksCiMgc28gYWx3YXlzIHVzZSBhIHN1YmZvbGRlci4KZXhwb3J0IFBHREFUQT0vdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEvcGdkYXRhCmRlZiBUWiBVVEMKZGVmIFBHVFogVVRDCmV4ZWMgZG9ja2VyLWVudHJ5cG9pbnQuc2ggcG9zdGdyZXMK | base64 -d > /tmp/start.sh && exec /bin/sh /tmp/start.sh"`

### ClickHouse

- **Image:** clickhouse/clickhouse-server:26.3.62.3@sha256:de3e47c64078aa196dae2349e048fc98ba81947f651f5c20e06e46baea8ae40a
- **Start command:** `/bin/sh -c "echo IyEvYmluL3NoCiMgU3RhcnQgc2NyaXB0IGZvciB0aGUgQ2xpY2tIb3VzZSBzZXJ2aWNlIChpbWFnZSBjbGlja2hvdXNlL2NsaWNraG91c2Utc2VydmVyKS4Kc2V0IC1lCmRlZigpIHsgaWYgWyAteiAiJChwcmludGVudiAiJDEiKSIgXTsgdGhlbiBleHBvcnQgIiQxPSQyIjsgZmk7IH0KZGVmIENMSUNLSE9VU0VfVVNFUiBjbGlja2hvdXNlCmRlZiBDTElDS0hPVVNFX0RCIGRlZmF1bHQKOiAiJHtDTElDS0hPVVNFX1BBU1NXT1JEOj9DTElDS0hPVVNFX1BBU1NXT1JEIGlzIG5vdCBzZXR9IgojIFJhaWx3YXkgdm9sdW1lcyBjb21lIHdpdGggYSByb290LW93bmVkIGxvc3QrZm91bmQgZm9sZGVyLgpybSAtcmYgL3Zhci9saWIvY2xpY2tob3VzZS9sb3N0K2ZvdW5kCiMgS2VlcCBzZXJ2ZXIgbG9ncyBvbiBzdGRvdXQgb25seSAodGhlIGxvZyBmb2xkZXIgaXMgbm90IG9uIHRoZSB2b2x1bWUpLCBhbmQKIyB0dXJuIGRvd24gdGhlIGludGVybmFsIHN5c3RlbSBsb2cgdGFibGVzIHNvIGEgc21hbGwgaW5zdGFuY2Ugc3RheXMgc21hbGwuCm1rZGlyIC1wIC9ldGMvY2xpY2tob3VzZS1zZXJ2ZXIvY29uZmlnLmQKY2F0ID4gL2V0Yy9jbGlja2hvdXNlLXNlcnZlci9jb25maWcuZC96ei1yYWlsd2F5LnhtbCA8PCdYTUwnCjxjbGlja2hvdXNlPgogIDxsb2dnZXI+CiAgICA8bGV2ZWw+d2FybmluZzwvbGV2ZWw+CiAgICA8Y29uc29sZT4xPC9jb25zb2xlPgogICAgPGxvZyByZW1vdmU9InJlbW92ZSIvPgogICAgPGVycm9ybG9nIHJlbW92ZT0icmVtb3ZlIi8+CiAgPC9sb2dnZXI+CiAgPHRyYWNlX2xvZyByZW1vdmU9InJlbW92ZSIvPgogIDx0ZXh0X2xvZyByZW1vdmU9InJlbW92ZSIvPgogIDxtZXRyaWNfbG9nIHJlbW92ZT0icmVtb3ZlIi8+CiAgPGFzeW5jaHJvbm91c19tZXRyaWNfbG9nIHJlbW92ZT0icmVtb3ZlIi8+CiAgPGxhdGVuY3lfbG9nIHJlbW92ZT0icmVtb3ZlIi8+CiAgPHF1ZXJ5X21ldHJpY19sb2cgcmVtb3ZlPSJyZW1vdmUiLz4KPC9jbGlja2hvdXNlPgpYTUwKZXhlYyAvZW50cnlwb2ludC5zaAo= | base64 -d > /tmp/start.sh && exec /bin/sh /tmp/start.sh"`
- **Health check:** /ping

### Redis

- **Image:** redis:8.10.3@sha256:1f88291b4c57bdf249f02eb085a8669889b2d2954e91d4de5118a5da6b78dd53
- **Start command:** `/bin/sh -c "echo IyEvYmluL3NoCiMgU3RhcnQgc2NyaXB0IGZvciB0aGUgUmVkaXMgc2VydmljZSAoaW1hZ2UgcmVkaXMpLiBMYW5nZnVzZSBuZWVkcwojIG1heG1lbW9yeS1wb2xpY3kgbm9ldmljdGlvbiBmb3IgaXRzIEJ1bGxNUSBxdWV1ZXMuCnNldCAtZQo6ICIke1JFRElTX1BBU1NXT1JEOj9SRURJU19QQVNTV09SRCBpcyBub3Qgc2V0fSIKIyBSYWlsd2F5IHZvbHVtZXMgY29tZSB3aXRoIGEgcm9vdC1vd25lZCBsb3N0K2ZvdW5kIGZvbGRlciwgd2hpY2ggc3RvcHMgdGhlCiMgaW1hZ2UncyBlbnRyeXBvaW50IGZyb20gaGFuZGluZyAvZGF0YSB0byB0aGUgcmVkaXMgdXNlci4Kcm0gLXJmIC9kYXRhL2xvc3QrZm91bmQKZXhlYyBkb2NrZXItZW50cnlwb2ludC5zaCByZWRpcy1zZXJ2ZXIgLS1yZXF1aXJlcGFzcyAiJFJFRElTX1BBU1NXT1JEIiBcCiAgLS1tYXhtZW1vcnktcG9saWN5IG5vZXZpY3Rpb24gLS1hcHBlbmRvbmx5IHllcyAtLWRpciAvZGF0YQo= | base64 -d > /tmp/start.sh && exec /bin/sh /tmp/start.sh"`

## Buckets

- **langfuse-storage**

## Documentation

# Deploy and Host Langfuse on Railway

Langfuse is an open-source LLM engineering platform. It records traces of LLM calls, agents and tool use, tracks cost and latency, manages and versions prompts, and runs evaluations, datasets and experiments. Apps send data with the Langfuse SDKs for Python and JavaScript or any OpenTelemetry exporter, and teams review it in a web UI.

## About Hosting Langfuse

Langfuse v4 runs as two containers from the same release: a web service for the UI and APIs, and a worker that processes incoming events in the background. It needs Postgres for users, projects and prompts, ClickHouse for traces, observations and scores, Redis for queues and caching, and S3-compatible storage for raw events, media and exports. This template pins Langfuse 4.78.0 and connects all of them over Railway's private network, using a Railway bucket for storage. Secrets are generated at deploy time. The first organization, project, API keys and admin user are created on first boot, and sign-up is closed, so nobody else can claim a fresh URL.

## Common Use Cases

* Trace and debug LLM apps and agents: prompts, tool calls, latency and errors for every request
* Track token usage and cost per model, user and feature
* Manage prompt versions and run evaluations, datasets and experiments on real traces

## Dependencies for Langfuse Hosting

* Postgres, ClickHouse and Redis (included, each on its own volume)
* S3-compatible object storage (a Railway bucket, included)

### Deployment Dependencies

* [Langfuse on GitHub](https://github.com/langfuse/langfuse) and the [v4.78.0 release](https://github.com/langfuse/langfuse/releases/tag/v4.78.0)
* [Langfuse self-hosting docs](https://langfuse.com/self-hosting)
* [Start scripts used by this template](https://github.com/aalfath/langfuse-railway-template)

### Implementation Details

**Sign in:** open your Railway domain and sign in with `LANGFUSE_INIT_USER_EMAIL` and the generated `LANGFUSE_INIT_USER_PASSWORD`. Both are in the Langfuse service's Variables tab.

**Send traces:** the project "My Project" already has API keys. Copy them from the same Variables tab into your app:

```bash
LANGFUSE_PUBLIC_KEY=pk-lf-...   # value of LANGFUSE_INIT_PROJECT_PUBLIC_KEY
LANGFUSE_SECRET_KEY=sk-lf-...   # value of LANGFUSE_INIT_PROJECT_SECRET_KEY
LANGFUSE_BASE_URL=https://your-app.up.railway.app   # your Railway domain; LANGFUSE_HOST in older SDKs
```

Langfuse v4 accepts traces over OpenTelemetry, which the current Python and JavaScript SDKs use. For older SDKs, set `LANGFUSE_MIGRATION_V4_WRITE_MODE=dual` on both Langfuse and Langfuse-Worker.

**Teammates:** sign-up is off (`AUTH_DISABLE_SIGNUP=true` in the start script). To let invited teammates create accounts, set `AUTH_DISABLE_SIGNUP=false` on the Langfuse service, then set it back to `true` once they have joined. While it is `false`, anyone who can reach the URL can sign up.

**Not included:** e-mail (set `SMTP_CONNECTION_URL` and `EMAIL_FROM_ADDRESS` on both services for invites and password resets), SSO, and the AI Gateway (beta, needs its own domain).

## Why Deploy Langfuse on Railway?


Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Langfuse on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.




## Similar templates

- [Rootprint](https://railway.com/deploy/rootprint-1) — Open-source logs and traces with full-text search on object-storage.
- [VPS Fleet Watch Hub with Beszel](https://railway.com/deploy/vps-fleet-watch-hub-with-beszel) — A persistent Beszel hub for external VPS agents and fleet alerts.
- [Pyroscope profiling](https://railway.com/deploy/pyroscope-profiling) — Protected continuous profiling with durable Pyroscope storage.

Open this page in a browser: https://railway.com/deploy/langfuse-1
