EnvEnvironment variables

roachnet-runtime reads these when it starts. Most people never need them: the defaults are what RoachNet ships with.

macOS 1.1.42 min read
On this page

How they reach the runtime

  • A runtime you start yourself reads them from the command line or your shell, as usual.
  • RoachNet.app starts the runtime with its own environment, so a variable has to be set where the app can see it. Apps opened from Finder or the Dock don't read your shell profile; launchctl setenv NAME value sets one for apps you open afterwards in this login session, and launchctl unsetenv NAME clears it. Quit and reopen RoachNet after either.

RoachNet.app always sets a few values itself, so setting them has no effect on the runtime it starts: OLLAMA_BASE_URL (always http://127.0.0.1:36434), OLLAMA_MODELS, ROACHNET_STORAGE_PATH and the companion bridge settings, which come from the installer settings. It also gives the runtime its own per-launch token in place of any ROACHNET_API_TOKEN, on the runtime's standard input since 1.1.3.

Models

Variable Default What it does
ROACHNET_INFERENCE_ENGINE native ollama sends model requests to an Ollama you run yourself instead of RoachInference; RoachNet never starts one. See RoachClaw.
ROACHNET_OLLAMA_URL http://127.0.0.1:11434 Where your own Ollama listens, with ROACHNET_INFERENCE_ENGINE=ollama.
ROACHNET_MODEL_MEMORY_GB 80% of memory How much memory loaded models may use together, in GB. Also what this Mac offers a cluster.
ROACHNET_MAX_LOADED_MODELS 2 How many models stay loaded at once
ROACHNET_MODEL_SLOTS 4 Parallel requests per model, 1 to 16. 1 runs them one at a time.
ROACHNET_KV_CACHE f16 f32 keeps the context cache at full precision, in twice the memory
ROACHNET_INFERENCE_BACKEND Metal cpu or metal
OLLAMA_BASE_URL http://127.0.0.1:36434 Where the model server listens, for a runtime you start yourself. Must be a loopback address; Ollama's port, 11434, or no port means 36434.

Local API and storage

Variable Default What it does
ROACHNET_API_TOKEN unset For a runtime you start yourself: every route except GET /api/health then needs this token. Since 1.1.3 the runtime takes it out of its environment when it starts, so the programs it runs don't inherit it.
ROACHNET_STORAGE_PATH ~/RoachNet/storage Where data lives, for a runtime you start yourself
ROACHNET_SETUP_PORT an ephemeral port Pins the setup service's port for roachnet-runtime --setup

RoachTail and the companion

Variable Default What it does
ROACHTAIL_PEER_IDLE_DAYS 90 Days a device token may go unused before it stops working. 0 turns that off.
ROACHTAIL_RELAY_HOST unset The HTTPS relay you run, for reaching the bridge from a phone
ROACHTAIL_JOIN_CODE_TTL_MS 10 minutes How long a join code lasts, in milliseconds
ROACHNET_COMPANION_HOST 127.0.0.1 The bridge's address, for a runtime you start yourself
ROACHNET_COMPANION_PORT 38111 The bridge's port, for a runtime you start yourself

Cluster

Variable Default What it does
ROACHNET_CLUSTER_PORT 7419 The port Cluster listens on while it's on
ROACHNET_CLUSTER_HOST every interface The address Cluster listens on
ROACHNET_CLUSTER_BONJOUR on 0 stops advertising over Bonjour; other Macs then need your address
Checked against v1.1.4 · 5 November 2026
esc
↑ ↓ move↵ openesc closeSearches on your device. Nothing is sent anywhere.