Run OpenRemote on iOS

Build the app from source with Expo, install it on your iPhone, and connect it to an OpenCode server on your network.

Prerequisites

  • macOS with Xcode installed. Expo SDK 54 targets iOS 15.1+ and Xcode 16.1+.
  • Bun installed for project scripts and dependency management.
  • A connected iPhone for LAN discovery and QR scanning. Simulator works for UI checks but not every network/camera path.
  • OpenCode running on the same LAN.

Install dependencies

git clone https://github.com/blairhudson/openremote.git
cd openremote
bun install

Start OpenCode

Use mDNS for automatic discovery, or bind to all interfaces for manual LAN connection.

opencode --mdns
or
opencode --hostname 0.0.0.0

Use a password before starting OpenCode on shared or public Wi-Fi:

OPENCODE_SERVER_PASSWORD=changeme123 opencode --mdns

Run the iOS app

For the day-to-day development flow used by OpenRemote, connect an iPhone and run:

bun run dev

For Expo's general iOS run flow, use:

bun run ios

Only regenerate native iOS artifacts when native identity, config, or modules change:

bun run dev:prebuild

Connect

OpenRemote searches for servers automatically. If discovery is unavailable, enter your Mac's LAN address and port, usually 4096.

The optional plugin adds a TUI sidebar QR code for faster setup:

npx opencode-openremote@latest

Troubleshooting

  • Allow local-network and camera permissions when iOS asks.
  • Keep your iPhone and OpenCode host on the same network.
  • If discovery fails, use opencode --hostname 0.0.0.0 and connect to the host LAN IP manually.
  • If native identity looks stale, run bun run dev:prebuild, then reinstall with bun run dev.