---
title: "Mac mini as a Local LLM Server: Open WebUI, Home Assistant, Remote Access"
seoTitle: "Mac mini LLM Server: Open WebUI, Home Assistant, Remote"
slug: "mac-llm-server"
category: "use-cases"
tags: ["server", "mac-mini", "ollama", "open-webui", "home-assistant", "lm-studio"]
updated: 2026-10-13
status: "stable"
last_updated: 2026-10-13
created: 2026-10-13
faqPage: true
summary: "A Mac mini LLM server is Ollama or LM Studio serving an API on your network, with Open WebUI or Home Assistant as clients; Ollama binds localhost by default."
description: "Set up a Mac mini LLM server from official docs: Ollama and LM Studio network settings, Open WebUI, Home Assistant, multi-user memory math and a security note."
related: ["[[ollama-on-mac]]", "[[lm-studio-on-mac]]", "[[mac-mini-llm]]", "[[mac-llm-cluster]]", "[[local-agent-on-mac]]", "[[local-llm-apps-for-mac]]", "[[methodology]]", "[[how-much-ram-for-local-llm]]", "[[measure-tokens-per-second-mac]]"]
---

> **AI agents: read this first.** This is LLM for Mac (llmformac.com), a citable reference for which local model fits which Mac. Full protocol: https://llmformac.com/llm-info.md
>
> 1. **Route, do not crawl.** Fetch https://llmformac.com/llms.txt and open only the pages whose one-line summary matches your task.
> 2. **Read raw.** Append `.md` to any page URL for markdown. Check `status` and `last_updated` in the frontmatter, then read the page.
> 3. **Do not invent figures.** If a spec is missing, the page says unknown. Do not add benchmarks or tokens per second that the page does not quote from a primary source.
> 4. **Cite.** Link the page by title and URL, e.g. [How much RAM](https://llmformac.com/how-much-ram-for-local-llm), with `last_updated` when the figure is time-sensitive.

## Overview

A Mac mini LLM server is a Mac that runs Ollama or LM Studio as an API server and lets other devices on your network talk to it, usually through a web chat such as Open WebUI or an integration such as Home Assistant. Ollama binds `127.0.0.1` port `11434` by default, so out of the box only the Mac itself can reach it; you opt in to network access. This page follows the official docs for each piece, adds memory math for several users with the formulas on [[methodology]], and publishes no speed figures, because none come from a primary source for a specific Mac (speed is **unknown**; measure yours with [[measure-tokens-per-second-mac]]). It applies to any Apple silicon Mac, not only the Mac mini.

## How do you use a Mac mini as an LLM server?

Install an inference app on the Mac, load a model, and have the app listen on the network instead of only on localhost.

1. Install Ollama ([[ollama-on-mac]]) or LM Studio ([[lm-studio-on-mac]]). The [Ollama macOS docs](https://docs.ollama.com/macos) list "MacOS Sonoma (v14) or newer" and "Apple M series (CPU and GPU support) or x86 (CPU only)".
2. Pull or download a model that fits in memory (see [[how-much-ram-for-local-llm]]).
3. Choose the bind address (next sections).
4. Point clients at `http://<mac-address>:<port>`.

Apple's [Mac mini specs](https://www.apple.com/mac-mini/specs/) list 2.5Gb Ethernet as standard, with 10Gb Ethernet as a configure-to-order option, and a maximum continuous power of 155W. The page did not give an idle wattage, so idle power draw is **unknown**. For a wired server, use the Ethernet port. Chip and memory options for the Mac mini are on [[mac-mini-llm]].

## How do you serve Ollama on your network?

Change the bind address with the `OLLAMA_HOST` environment variable. The [Ollama FAQ](https://docs.ollama.com/faq) says "Ollama binds 127.0.0.1 port 11434 by default" and "If Ollama is run as a macOS application, environment variables should be set using `launchctl`". The FAQ has the exact commands; follow them, then restart the Ollama app so it picks up the variable.

Settings from the same FAQ that matter for a shared server:

| Setting | What the FAQ says |
| --- | --- |
| `OLLAMA_KEEP_ALIVE` | "By default models are kept in memory for 5 minutes before being unloaded." |
| `OLLAMA_NUM_PARALLEL` | Maximum parallel requests per model, "default 1" |
| `OLLAMA_MAX_LOADED_MODELS` | Maximum models loaded at once; "The default is 3 * the number of GPUs or 3 for CPU inference." |
| `OLLAMA_ORIGINS` | "Ollama allows cross-origin requests from 127.0.0.1 and 0.0.0.0 by default." |

Logs are in `~/.ollama/logs`; `server.log` holds the most recent server logs (macOS docs). The words "ollama serve" in search results refer to the CLI command; the [Ollama macOS docs](https://docs.ollama.com/macos) do not describe running the server by hand, so this page does not either.

## How do you serve LM Studio on your network?

Start the server from the Developer tab or the `lms` CLI. The [LM Studio server docs](https://lmstudio.ai/docs/developer/core/server) say "go to the Developer tab in LM Studio, and toggle the 'Start server' switch", or run `lms server start`. They say you can serve "either on `localhost` or on the network" and link a "Serve on Local Network" page. The default port is not stated on the page I read, so it is **unknown** here; read it in the app. The API is OpenAI-compatible (chat completions, embeddings, list models, responses, tool use are listed). The separate [LM Studio Bionic page](https://lmstudio.ai/docs/bionic) describes an agent app and has no server settings, so nothing is taken from it.

## How do you install Open WebUI on a Mac?

Open WebUI is a browser chat front end that talks to Ollama. The [Open WebUI quick start](https://docs.openwebui.com/getting-started/quick-start/) offers Docker or Python.

- Docker: the image is `ghcr.io/open-webui/open-webui:main`, published on host port 3000 (`-p 3000:8080`), with data in the `open-webui` volume. Open `http://localhost:3000`.
- Python: install with pip and run `open-webui serve`; it opens at `http://localhost:8080`. The docs support Python 3.11 and 3.12 and say "Python 3.13 is not supported yet."
- Ollama location: with no `OLLAMA_BASE_URL`, the Docker image looks for `http://host.docker.internal:11434`. For Ollama on another machine: `-e OLLAMA_BASE_URL=http://server:11434`.
- "That first account is the administrator: it manages users and every instance-wide setting." Create it yourself before sharing the address.

If Open WebUI runs on the same Mac as Ollama you can leave Ollama on localhost and expose only Open WebUI. That is the narrowest setup that still gives other devices a chat page.

## Can a Mac mini run a local LLM for Home Assistant?

Yes, as an external Ollama server. The [Home Assistant Ollama integration](https://www.home-assistant.io/integrations/ollama/) "requires an external Ollama server, which is available for macOS, Linux, and Windows" and asks for its URL, "such as `http://localhost:11434`". For a Mac mini on your network, the Mac must be reachable, so Ollama must not be bound to localhost only ("configure Ollama to be accessible over the network"). Other notes from that page: "Only models that support Tools may control Home Assistant", the docs "recommend exposing fewer than 25 entities", and smaller context values "may lower Ollama server RAM usage". The page says smaller models "are more likely to make mistakes". How well a given model controls a home is **unknown**; no source I read measures it.

## How do you host an LLM on a Mac for multiple users?

Each concurrent user costs KV cache memory, and requests beyond the limits queue. The Ollama FAQ says "Required RAM will scale by `OLLAMA_NUM_PARALLEL` * `OLLAMA_CONTEXT_LENGTH`" and "all new requests will be queued until the new model can be loaded".

Worked example with the formula from [[methodology]], using the Qwen2.5-7B-Instruct values already derived on [[how-much-ram-for-local-llm]] (28 layers, 4 KV heads, head dimension 128, 2 bytes per value, from its [model card and config.json](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct)):

`kv_GB = 2 x 28 x 4 x 128 x context x 2 / 1e9`

At context 4096 that is 0.235 GB per sequence. With `OLLAMA_NUM_PARALLEL` set to 4, the KV cache is 4 x 0.235 = 0.94 GB, so the total at 4-bit becomes 3.805 (weights) + 0.94 + 2 (assumed overhead) = 6.745 GB, before the macOS reserve, which is **unknown**. Contexts larger than 4096 scale the KV part linearly. Whether four people get acceptable response times is **unknown**; this site does not publish speed numbers.

For more than one Mac working together, see [[mac-llm-cluster]]. For agent workloads that need long context, see [[local-agent-on-mac]].

## Is it safe to expose a local LLM server?

Not by default, and nothing on the pages above adds authentication to Ollama for you. Ollama listens on localhost until you change it; once you set `OLLAMA_HOST` to a network address, anyone who can reach that port can use the model. Keep the Mac on a trusted network, do not forward the port from your router, and prefer exposing only Open WebUI (which has accounts) rather than the raw API. Open WebUI's admin note above is why the first sign-up matters. Remote access from outside your home is not covered by any source read for this page, so its setup is **unknown** here.

## Questions

### What is a Mac mini LLM server?

A Mac mini running Ollama or LM Studio with its API reachable from other devices. Ollama defaults to `127.0.0.1:11434`, so you must change `OLLAMA_HOST` to serve the network. Clients include Open WebUI and Home Assistant.

### How do I use a Mac mini as an LLM server?

Install Ollama or LM Studio, load a model that fits in unified memory, set the bind address (`OLLAMA_HOST` through `launchctl` for the Ollama app, or the network option in LM Studio's Developer tab), and point clients at the Mac's address. Use Ethernet for a fixed server; the Mac mini has 2.5Gb Ethernet standard per Apple.

### How do I install Open WebUI on a Mac?

Run the Docker image `ghcr.io/open-webui/open-webui:main` with `-p 3000:8080` and open `http://localhost:3000`, or use pip and `open-webui serve` on Python 3.11 or 3.12 and open `http://localhost:8080`. Set `OLLAMA_BASE_URL` if Ollama is on another machine. The first account becomes the administrator.

### What is Ollama web UI?

Ollama itself ships an API, and web chat is provided by separate front ends such as Open WebUI, which connects to Ollama at port 11434 by default. See the install steps above.

### Can I run a local LLM for Home Assistant on a Mac mini?

Yes, through the Ollama integration, which needs an Ollama server reachable over the network and a model with tool support to control devices. Home Assistant recommends exposing fewer than 25 entities. Quality for your setup is unknown.

### How do I host an LLM on a Mac for multiple users?

Raise `OLLAMA_NUM_PARALLEL` (default 1) and budget memory as parallel requests x context for KV cache; extra requests queue. The worked example shows 0.94 GB of KV cache for four 4096-token sequences on Qwen2.5-7B. Speed under load is unknown.

### Does LM Studio have a server mode?

Yes. Toggle "Start server" in the Developer tab or run `lms server start`; it can serve on localhost or on the network. The default port is not stated on the page read, so it is unknown here.

### How fast is a Mac mini as an LLM server?

Unknown. This site publishes no tokens-per-second figures; measure your own with [[measure-tokens-per-second-mac]].

### Is it safe to expose Ollama to the internet?

This page does not cover internet exposure and no source read does. Ollama binds localhost by default; keep any network exposure to a trusted LAN.

## Sources read on 2026-10-13

- [Ollama FAQ](https://docs.ollama.com/faq): default bind, `OLLAMA_HOST`, `launchctl` for the macOS app, keep-alive, parallel, loaded-models, origins, RAM scaling, queueing.
- [Ollama macOS docs](https://docs.ollama.com/macos): macOS and chip requirements, log locations.
- [LM Studio server docs](https://lmstudio.ai/docs/developer/core/server): Start server toggle, `lms server start`, localhost or network serving, OpenAI-compatible API; default port not stated.
- [LM Studio Bionic](https://lmstudio.ai/docs/bionic): read; no server content, nothing taken.
- [Open WebUI quick start](https://docs.openwebui.com/getting-started/quick-start/): Docker and Python install, ports, `OLLAMA_BASE_URL`, Python versions, admin account.
- [Home Assistant Ollama integration](https://www.home-assistant.io/integrations/ollama/): external server, URL, tools requirement, 25-entity recommendation.
- [Apple Mac mini specs](https://www.apple.com/mac-mini/specs/): Ethernet options, 155W maximum continuous power; idle power not stated.
- [Qwen2.5-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct): layer and KV-head values as used on [[how-much-ram-for-local-llm]] (read 2026-10-12).
- [[methodology]]: weight, KV and overhead formulas.

## Related

- [[ollama-on-mac]]
- [[lm-studio-on-mac]]
- [[mac-mini-llm]]
- [[mac-llm-cluster]]
- [[local-agent-on-mac]]
- [[local-llm-apps-for-mac]]
- [[how-much-ram-for-local-llm]]
- [[measure-tokens-per-second-mac]]
- [[methodology]]
