Videos
I have been searching this sub for a viable OTA solution that is neither expensive nor complicated, couldn't find any so I went ahead and built a free, open-source, self-hosted alternative.
Why?
EAS Updates is great but expensive.
Self-hosted Code Push is tied to Azure.
AppFlow only works with native builds.
What's this solution?
๐ Free & Open Source.
๐ Self-hosted (deploy anywhere).
โจ Works with any Expo/RN app.
๐ณ One-line Docker deploy.
That's it! Check out our repo for more details.
Looking for contributors and feedback. Give it a try, if you like it, star it, and let me know what you think!
https://github.com/xavia-io/xavia-ota
Edit: repo is public now.
With Visual Studio App Center (which powers CodePush) scheduled for retirement on March 31, 2025, I'm looking for reliable alternatives to implement live updates in my React Native CLI project.
My Current Setup:
React Native CLI (not Expo)
Need to maintain similar functionality where users get JS updates without app store downloads
What I've Considered:
Expo Updates - But I'm on RN CLI, not sure about compatibility
Self-hosting - Concerned about maintenance overhead
Questions:
What are you all migrating to for live updates?
Any gotchas or limitations with the alternatives?
For those who tried self-hosting, how complex is it to maintain?
Does Expo Updates work well with bare RN CLI projects?
Hey everyone! ๐
I recently open-sourced Expo Open OTA โ an open-source implementation of the Expo Updates protocol, built for self-hosting over-the-air (OTA) updates for React Native apps.
๐ GitHub: https://github.com/axelmarciano/expo-open-ota
Why use it?
๐ Production-ready โ Built with Go for high performance.
โ๏ธ Cloud storage & CDN support โ Supports S3 & CloudFront.
๐ฆ Easy deployment โ Helm chart for Kubernetes and Railway.app integration.
๐ Compatible with Expo Updates โ Works seamlessly with
expo-updatesin managed & bare workflows withnpx eoas publish
Would love to hear your thoughts, feedback, and contributions! PRs & discussions welcome. ๐
Let me know if you have any questions!