Installation¶
Get Olla running on your system with these installation options.
Requirements¶
- Operating System: Linux, macOS, or Windows
- CPU: 2-4 Cores minimum
- Memory: Minimum 512MB RAM
- Network: Access to supported LLM endpoints you want to proxy
Installation Methods¶
You can use our script to install or update Olla easily:
Alternatively, download pre-built binaries from the releases page.
Run Olla in a container:
Install the latest stable version directly from the Go module:
Verify the installation:
No dashboard with go install
A go install binary embeds only a placeholder dist/, so /internal/ui/ serves a 503 dashboard not built response instead of the admin dashboard. Use a release binary or the Docker image if you want the dashboard, or run make build-web before make build when building from source. See Development Setup.
Verification¶
Verify your installation works correctly:
# Check version
olla --version
# Run with default config (if available)
olla --config config.yaml
# Check health endpoint
curl http://localhost:40114/internal/health
Command-line Flags¶
Olla exposes a deliberately small set of CLI flags. Configuration belongs in the YAML file or environment variables (see Configuration Reference).
| Flag | Description |
|---|---|
--version | Print version, build commit, and Go runtime, then exit. Equivalent to OLLA_SHOW_VERSION=true. |
--profile | Start a pprof profiling server on localhost:19841 (visit /debug/pprof/). Equivalent to OLLA_ENABLE_PROFILER=true. Note: this is the profiling flag, not a port flag. There is no -p/--port flag; set the port in your config or via OLLA_SERVER_PORT. |
-c, --config <path> | Path to a YAML config file. Falls back to OLLA_CONFIG_FILE, then the built-in defaults. |
--validate-config | Validate config.yaml, models.yaml and all provider profiles, print a report, then exit without starting the server. See Validating configuration below. |
-h / --help is provided automatically by Go's flag package and prints the list above. Running olla without arguments uses the YAML config from -c/--config if set, then OLLA_CONFIG_FILE, otherwise the built-in defaults.
Validating configuration¶
Run olla --validate-config to check config.yaml, config/models.yaml and every provider profile in config/profiles/ without starting the server. It loads each source the same way the running server does and prints one line per source:
Olla Configuration Validation
==============================
[OK] config.yaml loaded from config/config.local.yaml
[OK] models.yaml loaded from config/models.yaml
[OK] profiles 11 profile(s) loaded
Result: PASS - all configuration files are valid
A source that fails to parse or a models.yaml candidate that's found but unusable is reported as [FAIL] or [WARN] with detail, for example:
[FAIL] config.yaml failed to parse config.yaml: yaml: line 1: did not find expected ',' or ']'
[WARN] models.yaml using embedded defaults (1 issue(s))
- models.yaml: yaml: line 3: found unknown escape character
Exit code is 0 only when every file is clean, 1 otherwise. This is deliberately stricter than a running server, which warns and falls back to defaults for a broken models.yaml or profile rather than refusing to start - --validate-config exists to catch that ahead of time. Use it in CI or as a pre-restart check before rolling out a config change.
Next Steps¶
- Quick Start Guide - Get your first proxy running
- Configuration Reference - Understand all configuration options
- Architecture Overview - Learn how Olla works
Troubleshooting¶
Common Issues¶
- Command not found
- Make sure
$GOPATH/binis in yourPATHwhen usinggo install - Permission denied
- On Linux/macOS, ensure the binary has execute permissions:
chmod +x olla - Port already in use
- Change the port in your YAML config file (
server.port) or via theOLLA_SERVER_PORTenvironment variable. There is no--portCLI flag. - Config file not found
- Specify the config file path with
--config /path/to/config.yaml
For more help, check the troubleshooting guide or open an issue.