Skip to main content
Local model providers run entirely on your own hardware. Manifest detects the running server, fetches the model list, and routes requests to http://localhost:<port> like any other provider. No API key, no network egress, no per-token cost.
The built-in Ollama, LM Studio, and llama.cpp connections are self-hosted only. To reach a local model from Manifest Cloud, expose the runtime on a public URL or tunnel and add it as a custom provider.

Supported runtimes

All three speak OpenAI-compatible /v1/chat/completions and accept any GGUF model file.

Start the server

Connect to Manifest

1

Open the Local page

In the dashboard sidebar, open Providers → Local and click Connect on your runtime (Ollama, LM Studio, or llama.cpp).
2

Confirm the server is reachable

Manifest probes http://localhost:<default-port>/v1/models. If the probe succeeds, every loaded model appears for routing.
3

Pin a model to a tier

Open your default or a custom tier and pick a local model as the primary. You can mix local and cloud models in the same fallback chain.

Running Manifest in Docker

If you self-host Manifest in Docker, the container can’t reach a local server bound to 127.0.0.1 on the host. Two of the three runtimes default to loopback and need an explicit override:
Either flip the GUI toggle (LM Studio → ⚙ Developer → Serve on Local Network) or rebind from the CLI:
LM Studio remembers the last --bind, so this is one-time setup.
Inside the Manifest container, the host is reachable as host.docker.internal. Manifest sets this automatically when probing local providers.

Cost & privacy

Mix local and cloud in one chain: set a local model as your default for day-to-day calls, and fall back to a cloud model when the local server is offline.