> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kernelmedia.tv/llms.txt
> Use this file to discover all available pages before exploring further.

# Homebrew (macOS)

> Install Kernel on macOS with brew, as a background service

Kernel publishes a Homebrew tap for macOS (Intel and Apple Silicon). This is the easiest way to run it as a proper background service on a Mac, with no Docker or manual zip handling.

## Server

```bash theme={null}
brew tap KernelMedia/kernel
brew install server
brew services start server
```

The formula bundles jellyfin-ffmpeg, so there's nothing else to install. Once the service is running, open `http://localhost:9014` to run the [setup wizard](/setup/first-run).

| | |
| - | - |
| Port | `9014` (override with `KERNEL_PORT`) |
| Data/config | `$(brew --prefix)/var/kernel-server` |
| Logs | `$(brew --prefix)/var/log/kernel-server.log` |

## Remote transcoder (optional)

Only needed if you're offloading transcode work to this Mac from a Kernel server running elsewhere. See [Remote Transcoder](/transcoder/install) for what this does and why it's a Pro/Lifetime feature.

```bash theme={null}
brew tap KernelMedia/kernel
brew install remotenode
brew services start remotenode
```

<Note>
  `remotenode` listens on port `9015` by default, not `9014`, so it doesn't collide with `server` if you install both on the same Mac. Its config lives at `$(brew --prefix)/etc/kernel-remotenode/config.yml`.
</Note>

Pair it from the Kernel admin UI under **Settings > Remote Transcoders** once it's running; see [Pairing a Node](/transcoder/pairing) for the full flow (multicast discovery, or adding it manually by `ip:port` if it's on a different subnet).

## Managing the service

```bash theme={null}
brew services list              # check status
brew services stop server       # stop
brew services restart server    # restart (e.g. after changing KERNEL_PORT)
```

## Updating

```bash theme={null}
brew update
brew upgrade server
# or: brew upgrade remotenode
```

The formulas set `KERNEL_MANAGED`, so the in-app updater (Settings > Updates) is disabled automatically on a Homebrew install, the same way it is on the `.deb`/`.rpm` packages. `brew upgrade` is what keeps the formula, the binary, and the bundled ffmpeg in sync. See [Updating](/updating#homebrew).

## Uninstalling

```bash theme={null}
brew services stop server
brew uninstall server
```

This leaves `$(brew --prefix)/var/kernel-server` (your database and config) in place. Remove it manually if you want a clean slate.


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