NAME

knarr - Langertha LLM Proxy with Langfuse Tracing

VERSION

version 1.001

SYNOPSIS

knarr <command> [options]

knarr start                                # Start with ./knarr.yaml
knarr start --from-env                     # Auto-detect config from ENV
knarr start --from-env -p 8080 -p 11434   # ENV config, explicit ports
knarr start -c production.yaml -p 9090     # Custom config and port
knarr init > knarr.yaml                    # Generate config from environment
knarr init -e .env -e .env.local           # Scan .env files
knarr models                               # List configured models
knarr models --format json                 # JSON output
knarr check                                # Validate config file

DESCRIPTION

knarr is the command-line interface for Langertha::Knarr, an LLM proxy that accepts requests in OpenAI, Anthropic, or Ollama format, routes them to any Langertha backend engine, and traces everything via Langfuse.

See Langertha::Knarr for full documentation including Docker usage, config file format, routing behaviour, and environment variable reference.

COMMANDS

start — Start the proxy server (with config file or --from-env)
init — Scan environment and .env files for API keys, print generated YAML config
models — List all configured and auto-discovered models
check — Validate the config file and report configuration status

GLOBAL OPTIONS

-c, --config path

Config file path. Defaults to ./knarr.yaml.

-v, --verbose

Enable verbose logging to stderr. Also enabled by KNARR_DEBUG=1.

START OPTIONS

--from-env

Build config from environment variables when no config file is found. This is how the Docker image starts.

-p, --port port

Port to listen on. Repeatable (e.g. -p 8080 -p 11434). Defaults to 8080 and 11434.

-H, --host host

Host to bind to. Defaults to 0.0.0.0.

-w, --workers n

Number of worker processes. Defaults to 1.

-n, --trace-name name

Langfuse trace name. Overrides KNARR_TRACE_NAME and the config file.

INIT OPTIONS

-e, --env-file path

Additional .env file to scan. Repeatable. .env and .env.local in the current directory are scanned automatically.

-l, --listen addr

Listen address to include in generated config. Repeatable. Defaults to 127.0.0.1:8080 and 127.0.0.1:11434.

-o, --output path

Write generated config to a file instead of stdout.

MODELS OPTIONS

-f, --format format

Output format: table (default) or json.

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha-knarr/issues.

IRC

Join #langertha on irc.perl.org or message Getty directly.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.