---
title: "Deploy OpenLIT observability"
description: "Protected AI observability with OpenLIT and persistent ClickHouse traces."
category: "Observability"
url: https://railway.com/deploy/openlit-observability
---

# Deploy OpenLIT observability

Protected AI observability with OpenLIT and persistent ClickHouse traces.

**[Deploy OpenLIT observability on Railway](https://railway.com/template/openlit-observability)**

- **Creator:** Anton Orel's Projects
- **Category:** Observability
- **Total deploys:** 2

## Template content

### OpenLIT Gateway

- **Image:** caddy:2.10-alpine@sha256:4c6e91c6ed0e2fa03efd5b44747b625fec79bc9cd06ac5235a779726618e530d
- **Start command:** `/bin/sh -ec 'password_hash="$(caddy hash-password --plaintext "$OPENLIT_GATEWAY_PASSWORD")"; printf '"'"':8080 {\n handle /healthz {\n  rewrite * /login\n  reverse_proxy %s\n }\n @otlp path /v1/traces /v1/logs /v1/metrics\n handle @otlp {\n  @unauthorized not header Authorization "Bearer %s"\n  respond @unauthorized 401\n  reverse_proxy %s\n }\n handle {\n  basic_auth {\n   %s %s\n  }\n  reverse_proxy %s\n }\n}\n'"'"' "$OPENLIT_WEB_UPSTREAM" "$OPENLIT_OTLP_TOKEN" "$OPENLIT_OTLP_UPSTREAM" "$OPENLIT_GATEWAY_USERNAME" "$password_hash" "$OPENLIT_WEB_UPSTREAM" >/tmp/Caddyfile; exec caddy run --config /tmp/Caddyfile --adapter caddyfile'`
- **Health check:** /healthz
- **Public domain:** Yes

### OpenLIT

- **Image:** ghcr.io/openlit/openlit:1.24.2@sha256:9b85bc3214767603670d3f5c74e1d43ae7e34b292b1f330b99607f7ea2c29230
- **Start command:** `/bin/bash -ec 'node -e "$OPENLIT_CLICKHOUSE_BOOTSTRAP_SCRIPT"; mkdir -p /etc/otel; printf "%s\n" "$OPENLIT_COLLECTOR_CONFIG" > /etc/otel/otel-collector-config.yaml; exec /app/client/scripts/entrypoint.sh'`
- **Health check:** /login

### OpenLIT ClickHouse

- **Image:** clickhouse/clickhouse-server:24.4.1@sha256:2e6587b81a267c6152cf2112c3532516424d3eaa36f1b150d5b8847c0e3d5b01

## Documentation

# Deploy and Host OpenLIT on Railway

OpenLIT captures and explores traces, metrics, and logs from AI applications. This template adds persistent ClickHouse storage and one generated-credential gateway for the dashboard and OTLP/HTTP ingestion.

## About Hosting OpenLIT

Railway exposes only Caddy over public HTTPS. OpenLIT, its embedded collector, ClickHouse, OTLP gRPC, and OpAMP stay on the private network, while separate generated credentials protect browser access and HTTP telemetry ingestion.

## Why Deploy OpenLIT on Railway

The deployment provisions the application, two persistent volumes, private networking, TLS, generated secrets, and the upstream collector pipeline together. A protocol-level smoke can then send a trace and read it through OpenLIT's authenticated API, which proves the full SDK-to-dashboard path.

## Common Use Cases

- Inspect LLM and agent traces, latency, token use, and cost during development.
- Give a small internal team one persistent AI observability workspace.
- Receive standard OTLP/HTTP telemetry from OpenLIT or OpenTelemetry SDKs.

## Dependencies for OpenLIT Hosting

### Deployment Dependencies

- OpenLIT `1.24.2`
- ClickHouse `24.4.1`
- Caddy `2.10`
- Two 5 GB Railway volumes; expand ClickHouse first as telemetry grows


## Similar templates

- [Pyroscope profiling](https://railway.com/deploy/pyroscope-profiling) — Protected continuous profiling with durable Pyroscope storage.
- [SigOnly](https://railway.com/deploy/sigonly) — Deploy SigNoz with a working demo app & config in one click
- [Unwrapped Spotify Music Stats](https://railway.com/deploy/wide-bold) — Unwrapped Spotify Music Stats, Estatísticas de músicas disponíveis

Open this page in a browser: https://railway.com/deploy/openlit-observability
