Skip to content

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:

# Linux/macOS
bash <(curl -s https://raw.githubusercontent.com/thushan/olla/main/install.sh)

Alternatively, download pre-built binaries from the releases page.

Run Olla in a container:

# Pull the image
docker pull ghcr.io/thushan/olla:latest

# Run with pretty terminal output 
# for locally installed lmstudio, ollama or vllm
docker run -t \
    --name olla \
    -p 40114:40114 \
    ghcr.io/thushan/olla:latest

Install the latest stable version directly from the Go module:

go install github.com/thushan/olla@latest

Verify the installation:

olla --version

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.

Build from source for the latest features:

git clone https://github.com/thushan/olla.git
cd olla
make build-release
# run freshly built olla!
bin/olla --version

The binary will be available at ./bin/olla.

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

Troubleshooting

Common Issues

Command not found
Make sure $GOPATH/bin is in your PATH when using go 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 the OLLA_SERVER_PORT environment variable. There is no --port CLI 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.