> ## Documentation Index
> Fetch the complete documentation index at: https://ara-90a60a07.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Use a model on your own machine

> Connect Ollama, vLLM, LM Studio or any OpenAI-compatible server that is not on the internet.

Reason calls your model from the cloud, so a Base URL like `http://127.0.0.1:11434` points at Reason's servers, not yours. Give the server a public https address, for example with a [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/trycloudflare/):

```bash wrap theme={null}
OLLAMA_CONTEXT_LENGTH=32768 ollama serve
cloudflared tunnel --url http://localhost:11434 --http-host-header localhost:11434
```

In **Settings → Models**, choose **Custom**. Enter any API key and set the Base URL to the tunnel address plus `/v1`. Leave the other fields blank. Reason lists the server's models when you save.

* For vLLM, LM Studio or a server behind an SSH tunnel, point `cloudflared` at its local port.
* Agent prompts run past 20,000 tokens. Raise the server's context window, because Ollama's default silently cuts off the rest.
* Ollama only answers requests addressed to `localhost`, which is why the tunnel needs `--http-host-header`.
* Anyone with the address can use the server. If that matters, put a proxy that checks a key in front of it and enter that key in Reason.
* A `trycloudflare.com` address changes whenever `cloudflared` restarts. To enter the new address, use **Replace key** on the Custom connection. A [named tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/) keeps the same address.
* Small models struggle with tool calls. If one makes up a tool result, start a new session instead of following up.

## FAQ

<AccordionGroup>
  <Accordion title="Can Reason reach a server on my private network or VPN?">
    No. Reason calls the server from the cloud, so it only reaches a public https URL. `localhost`, private addresses such as `10.x` or `192.168.x`, VPN and Tailscale addresses all fail. Put the server behind a tunnel that gives it a public address.
  </Accordion>

  <Accordion title="How do I connect a server I reach over Tailscale?">
    A `100.x` or `*.ts.net` address only works inside your tailnet. On the server's machine, run [`tailscale funnel 8080`](https://tailscale.com/kb/1223/funnel) with the server's port, then enter the printed `https://….ts.net` address plus `/v1` as the Base URL.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.