The easiest way to self-host OTA updates

Over-the-air updates for React Native. Efficient setup and architecture, even for millions of users.

Codemagic Patch dashboard with release history and adoption metrics Codemagic Patch dashboard with release history and adoption metrics

Installed in twenty minutes

One command starts the install wizard, which configures OAuth, CDN cache rules and TLS, then brings the stack up with Docker Compose.

cmpatch selfhost install

Complete update control and management

All the features of a modern hosted OTA service, without the five-figure price tag.

Protection against releasing incompatible binaries

Fingerprinting checks the native binary for the targeted binary, so an incompatible release is blocked.

Release blocked because the native fingerprint does not match the targeted binary

Devices download a tiny diff, not the whole bundle

Binary diffs send only what changed, so updates don't rely on excellent mobile signal.

Server computes a binary diff, the CDN stores it and the device downloads a minimal payload

Roll out, monitor installs and promote releases

Full release metrics live in the dashboard, with rollout and rollback controls for each release.

Adoption over time chart showing daily active devices per release

Your server can handle any number of users

Devices send check and download requests to the CDN, so your server is never overwhelmed.

Devices check and download updates from the CDN instead of the server

How Patch compares

Patch and other self-hosted OTA tools all ship JavaScript updates to installed apps. They differ in how much you assemble yourself and how updates reach devices.

Other self-hosted OTACodemagic Patch
ThroughputDIY autoscaling and cache strategyChecks and downloads scale with CDN
DowntimeAPI outage blocks checksOnly if CDN fails
FingerprintingSome
Bundle diffsSome
Install timingsync() install modesImmediate, restart, resume, suspend
Release metricsOften limitedDashboard and CLI
DashboardVaries by toolWeb dashboard with team access
User rolesVaries by toolRBAC in dashboard
SupportGitHub issues onlySupport licence available

Codemagic Patch

Throughput
Checks and downloads scale with CDN
Downtime
Only if CDN fails
Fingerprinting
Bundle diffs
Install timing
Immediate, restart, resume, suspend
Release metrics
Dashboard and CLI
Dashboard
Web dashboard with team access
User roles
RBAC in dashboard
Support
Support licence available

Other self-hosted OTA

Throughput
DIY autoscaling and cache strategy
Downtime
API outage blocks checks
Fingerprinting
Some
Bundle diffs
Some
Install timing
sync() install modes
Release metrics
Often limited
Dashboard
Varies by tool
User roles
Varies by tool
Support
GitHub issues only

This is a high-level comparison, details vary per OTA tool.

Built by Codemagic

Codemagic has been building mobile CI/CD for over 10 years. Our teams have delivered billions of over-the-air updates to production apps. Patch brings that experience to a self-hosted stack you control.

Visit Codemagic