LEARN MORE

Settings

Kiri has few settings, and most people never change them. Open Settings under Kiri in the window’s sidebar. It has six tabs: Appearance, Resources, Network, Import, Domains and About. Everything you change is saved in small JSON files in ~/.kiri.

Kiri
ContainersImagesVolumesNetworksSettings
AppearanceResourcesNetworkImportDomainsAbout

Resources

CPUsshared with macOS4 CPUs
Memorythe most the VM may take8 GB
Running now with 2 CPUs and up to 8 GB.Restart VM to applySave
Settings → Resources. The sliders set the most the VM may use; Save writes them to ~/.kiri/vm.json, and they apply from the VM's next start.

Appearance

How the window looks. These are saved in ~/.kiri/ui.json and apply at once.

Setting Choices
Theme System (follows macOS), Dark, Light
Accent Blue, Purple, Orange, Teal, Pink, Green. Used for selection, focus rings and primary buttons.
Interface font System, or any font installed on your Mac. Tables, the sidebar and headings.
Monospace font System Mono, or any fixed-width font installed. IDs, commands and code.
Text size 90%, 100%, 110%, 125%. View → Zoom In and Zoom Out (⌘+ and ⌘−) step through the same sizes.

Resources

The most the Linux VM may use. The VM shares your Mac’s CPUs and memory rather than reserving them: it only uses CPU while containers are busy, takes memory as containers need it, and gives the rest back to macOS. See Memory and sleep.

Setting Range Default
CPUs 1 up to the number of CPUs in your Mac 2
Memory 1 GB steps, up to your Mac’s memory Half your Mac’s memory, at least 2 GB and at most 8 GB

Save writes both to ~/.kiri/vm.json. The VM reads them each time it starts, so if it’s asleep they apply the next time it wakes. If it’s running, Restart VM to apply restarts it now. That stops running containers, so start them again afterwards.

The engine decides the numbers in this order, each time the VM boots:

KIRI_CPUSKIRI_MEMORY_MIB~/.kiri/vm.jsonSettings → Resources2 CPUs, half the RAM (2–8 GB)not setno filekiri daemonat each VM bootwinsLinux VMCPUs, memory ceilingboot
Where the VM's CPUs and memory come from. An environment variable wins over Settings, and Settings win over the defaults.

Network

A proxy, for networks that need one. Saved in ~/.kiri/proxy.json.

Setting Choices
Proxy macOS settings (the default), Custom or None. Used for pulling, pushing and searching images, and for docker login.
HTTP proxy, HTTPS proxy, Bypass for With Custom: the proxy addresses, and the hosts that skip it (for example *.internal, registry.corp).
Pass to containers Off (the default) or On. When on, new containers get HTTP_PROXY, HTTPS_PROXY and NO_PROXY. A proxy running on your Mac is reached as host.docker.internal.

If macOS uses an automatic proxy configuration (PAC) file, Kiri can’t follow it: choose Custom and enter the proxy. VPNs need no setting, because container traffic leaves through macOS’s own networking.

Import, Domains and About

  • Import brings images, volumes and containers over from OrbStack or Docker Desktop. The other engine must be running, and it isn’t changed: images are copied, volumes are read through a temporary read-only helper, and containers arrive stopped. See Moving from Docker Desktop.
  • Domains has two switches. Local names picks kiri.localhost (no setup) or kiri.local, which adds /etc/resolver/kiri.local and so asks for an administrator password. HTTPS trusts Kiri’s own certificate authority, so https://myapp.kiri.local works; macOS asks for your password. See Domain names and HTTPS.
  • About shows the app’s version, the engine’s version and Docker API version, whether the VM is running or asleep, its kernel, CPUs and memory. Quote the version when you send Feedback.

Files and environment variables

Settings live in ~/.kiri (images and volumes live elsewhere; see Install):

File What’s in it Read
~/.kiri/ui.json Theme, accent, fonts, text size, column widths, and the update you skipped or snoozed By the window
~/.kiri/vm.json {"cpus": …, "memory_mib": …} from Settings → Resources At each VM start
~/.kiri/proxy.json Proxy mode, addresses, bypass list and whether containers get them At once

The engine also reads a few environment variables. They’re for the kiri daemon process, so they only apply when it starts with them in its environment.

Variable What it does
KIRI_CPUS The VM’s CPUs. Wins over Settings, which then says so.
KIRI_MEMORY_MIB The VM’s memory ceiling, in MiB. Wins over Settings.
KIRI_IDLE_SECS Seconds idle before the VM sleeps. Default 60; 0 means never.
KIRI_BUILDER_IDLE_SECS Seconds before an idle BuildKit builder container is stopped. Default 300.
KIRI_NO_BALLOON Set it to turn off the memory balloon that gives unused memory back to macOS.
KIRI_HTTP_PORT, KIRI_HTTPS_PORT Ports for the container-name routers. Default 80 and 443.
KIRI_NO_FINDER Set it to skip mounting container files at ~/Kiri.
KIRI_SOCKET Where the Docker API socket goes. Default ~/.kiri/run/docker.sock.
KIRI_DATA_DIR Where images, volumes and the VM’s disk go. Default ~/Library/Application Support/Kiri.
KIRI_UPDATE_URL A different release feed. See Updates.

© 2026 Kiri · runkiri.com