Deploy LangWatch LLMOps Stack
LangWatch LLM observability, evals and agent testing, invite only
Just deployed
Just deployed
LangEvals
Just deployed
LangWatch
Just deployed
RustFS
Just deployed
Workers
Just deployed
Redis
Just deployed
ClickHouse
Just deployed
Deploy and Host LangWatch on Railway
LangWatch is an open source LLMOps platform. It collects traces from your LLM apps and agents over OpenTelemetry or REST, runs evaluations and guardrails on them, and gives you datasets, prompt management, agent simulations and analytics in one self hosted workspace.
About Hosting LangWatch
Hosting LangWatch means running the app next to its workers, the NLP engine, the LangEvals evaluator service, PostgreSQL, ClickHouse and Redis. This template deploys all seven services from the official compose file at the pinned release 3.23.0, and adds RustFS as S3 storage so the app and the workers share datasets and trace attachments. Secrets are generated at deploy time, every backing service stays on Railway's private network, and sign up is invite only from the first minute: you enter your own email address as ADMIN_EMAILS and only that address can create the first account.
Plan requirement: Railway Hobby plan or higher. Upstream asks for 4 CPU cores and 8 GB of RAM for this stack. LangEvals and ClickHouse each need more than the 1 GB per service that the Trial allows.
Common Use Cases
- LLM observability: trace every model call, tool call and agent step with cost and latency
- Evaluations and guardrails: score live traffic with the built in evaluator library or your own
- Agent testing: run simulated conversations against your agent before release
- Datasets and experiments: turn real traces into datasets and compare prompts and models
- Prompt management: version prompts and ship them without a redeploy
Dependencies for LangWatch Hosting
- Railway Hobby plan or higher: about 6 to 8 GB of RAM across the stack
- PostgreSQL, ClickHouse, Redis, RustFS: all included, each with its own volume
- Your email address: required at deploy as
ADMIN_EMAILS - Model provider keys: optional at boot, added per project in the UI for evaluators and the playground
- Mail gateway: optional (SMTP, Resend, SendGrid or SES) for invites and alerts
Deployment Dependencies
Implementation Details
First steps after the deploy:
- Wait until all eight services are up. The workers apply the database schema on first boot and the app reports ready when they finish.
- Open the LangWatch domain and sign up with the
ADMIN_EMAILSaddress. Do this right away. - Create an organization and a project, copy the project API key, and set
LANGWATCH_ENDPOINTin your SDK to your Railway domain. - Invite teammates from Settings, Members.
Key variables:
ADMIN_EMAILS=you@yourcompany.com # required, you enter it
SIGN_UP_MODE=invite_only
BASE_HOST=https://${{RAILWAY_PUBLIC_DOMAIN}}
NEXTAUTH_SECRET=${{secret(48)}}
CREDENTIALS_SECRET=${{secret(64,"abcdef0123456789")}} # never rotate
LANGWATCH_INSTANCE_ADMIN_API_KEY=${{secret(48)}} # provisioning API
DATABASE_URL=${{Postgres.DATABASE_PRIVATE_URL}}?schema=langwatch
CLICKHOUSE_URL=${{ClickHouse.PRIVATE_HTTP_URL}}
REDIS_URL=${{Redis.REDIS_URL}}
The generated LANGWATCH_INSTANCE_ADMIN_API_KEY enables POST /api/v1/organizations, so an organization, a project and its API key can also be created from a script. LangEvals and the NLP engine have no public domain. For a custom domain, update BASE_HOST, NEXTAUTH_URL and LANGWATCH_ENDPOINT together.
Why Deploy LangWatch 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 LangWatch 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.
Template Content
LangEvals
langwatch/langevals:3.23.0LangWatch
langwatch/langwatch:3.23.0ADMIN_EMAILS
REQUIRED. Your email address (comma separated for several). Sign up is invite only, so this is the only address that can create the first account and organization, and the only one that can open the /ops operator pages. Leave it empty and the first visitor to find the URL can claim the instance.
RustFS
rustfs/rustfs:1.0.4Workers
langwatch/langwatch:3.23.0Redis
redis:8.10.3-alpineClickHouse
langwatch/clickhouse-serverless:0.4.0
