Set up manually
Install packages, provision your update server, connect the app and verify your first OTA update.
Complete the setup
This path uses your terminal and provider tools. For an agent to complete the same workflow, use Set up with an agent. Existing installations should first read Move from v0 to v1.
The result is a deployed update server, an integrated native app and a verified OTA update on a dedicated test channel. Follow these steps from the app's workspace directory.
Provider setup
Step 1: Install hot-updater
First choose infrastructure, then follow
Install packages to install the
@hot-updater/react-native SDK, hot-updater CLI, your selected build
adapter and provider package. Complete all four package choices before init.
Step 2: Initialize your provider
Run the interactive initializer after installation:
npx hot-updater initSelect the app build system and provider you prepared. The provider guide explains access, resources, deployment and the exact update server URL:
If you are assembling your own server, use Custom server quick start. To deploy packaged server files through your own tooling, use Infrastructure Templates.
Step 3: Generated configuration
Review the setup result:
| Output | What to verify |
|---|---|
hot-updater.config.ts | Selected build, storage, database, the managed server's plugins, and update strategy |
.env.hotupdater | Local provider settings and registered HOT_UPDATER_API_KEY, kept private and ignored |
| Update server base URL | The actual deployed endpoint, including a provider base path when required |
| Remote resources | The selected account/project, database and storage match the local config |
For every managed provider, init imports apiKeys, insights, and
remoteConfig from hot-updater/plugins and writes
plugins: [apiKeys(), insights(), remoteConfig()] into hot-updater.config.ts.
If it cannot safely merge an existing config, it keeps the file and prints the
imports and settings to add. A later spread or computed property must not
override the plugins list.
The server URL and client API key connect the app to the server.
.env.hotupdater is not automatically loaded into the mobile app. Provider,
service-role and admin credentials remain in the CLI/server environment.
Re-running init with another provider preserves unrelated config, prior
provider variables and existing infrastructure. Keep old resources until
installed binaries no longer depend on them.
Step 4: Initialize your application
Follow Connect your app
for the complete HotUpdater.init() flow: initialize once at module scope and
export the instance it returns, call hotUpdater.checkForUpdate(), await the
selected update's updateBundle(), then reload at a deliberate point. Initialization alone does not check for updates.
That page also configures the client URL/key, native and OTA build variables, build adapter, native loading, compatibility and test channel.
Build configuration
The build configuration section covers Bare, Rock and Expo. Keep its build setting alongside your provider's storage, database and plugins settings.
Native code setup
Native integration is required before the first Release build. Expo applies the native changes through its config plugin during prebuild; bare and Rock apps configure native bundle loading directly.
Android
Follow the Android native setup for your React Native version and Kotlin or Java project.
iOS
Follow the iOS native setup for Swift or Objective-C.
Next steps
Deploy your first update
Complete Test an OTA update. Use a native Release build on a dedicated test channel, change visible JavaScript and an asset, deploy to the matching platform/compatibility target and verify the change on the device. A successful upload alone does not complete onboarding.
Monitor and manage updates
Open the Console and verify received Insights reports. The app sends them with the Insights plugin; the guide explains setup and verification.
Explore advanced features
After the first verified OTA:
- Deploy updates to the intended production scope.
- Roll out gradually and target QA cohorts.
- Bundle Signing verifies authorized artifact content.
- Doctor diagnoses setup and server version issues.