Skip to main content
Docker Compose is the quickest way to try LangWatch locally. It runs the full stack in containers on your machine.

Prerequisites

  • Docker with Docker Compose v2
  • 4 CPU cores, 8 GB RAM, 20 GB disk

Quick Start

The compose file lives at infra/compose.yml and reads .env at the repository root, so run every docker compose command from the repository root with -f infra/compose.yml --project-directory .. The commands below use that form. LangWatch is available at http://localhost:5560.
Why port 5560? On a T9 keyboard, 5560 spells “LLM”.

Services

Docker Compose starts the following services: Services with no host port bind no port on the host’s interfaces, so they do not answer on localhost and are not reachable from another machine. langwatch_nlp listens on 5561 inside the Docker network, which is what LANGWATCH_NLP_SERVICE points the app and the workers at. A process on the Docker host itself can still reach a container directly on its own network address, so treat this as removing an exposed entry point, not as a network boundary.

Configuration

Edit .env to customize your deployment. Key variables:
See Editions and licensing for how each form is applied at startup. Keep CREDENTIALS_SECRET stable once LangWatch holds data: changing it makes stored credentials unreadable and invalidates API keys. To replace it, see Rotating the credentials secret. See Environment Variables for the full reference.

Common Operations

Start in the background

View logs

Stop services

Update to latest version

The workers run pnpm task upgrade on the new image when they start, and the app does not report ready until it completes. On a current installation it applies no step. If it fails, read docker compose logs workers; the exit code is explained in the Upgrade Guide.

Reset data

Customization

Disable optional services

If you don’t need NLP or evaluators, comment them out in infra/compose.yml:
Remove the corresponding upstream URLs from the app environment to avoid connection errors.

Connect to external databases

Replace the postgres and redis services with connection strings to your existing instances:

Connect to external ClickHouse

Replace the clickhouse service with a connection string to your existing instance:

Limitations

Docker Compose is suitable for evaluation and small teams but lacks:
  • High availability: single instance of each service
  • Horizontal scaling: cannot scale workers independently
  • Automated backups: no built-in backup scheduling
  • TLS: no built-in HTTPS (use a reverse proxy like nginx or Caddy)
For production, migrate to the Kubernetes Helm chart.

Next Steps

Last modified on October 12, 2026