Introduction
What NervesHub is, how it delivers signed OTA firmware to Nerves devices, and where to start.
Written By Josh Kalderimis
Last updated About 2 months ago
NervesHub is an open-source, self-hostable platform for over-the-air (OTA) firmware updates and device management. It ships cryptographically signed firmware to authenticated Nerves devices, shows you what your fleet is doing, and lets you debug hardware remotely.
It runs in production at hundreds of thousands of devices on a lean stack: an app server, PostgreSQL, and S3-compatible object storage (plus optional ClickHouse for logs).
How it works
Devices open a long-lived websocket to the server. When an update is available, NervesHub hands the device a download URL; the device verifies the signature and applies it, immediately or when convenient. Everything else is built on that connection.
Nerves device ββ websocket βββΆ NervesHub βββΆ PostgreSQL + object storage
β² β
βββββββ signed firmware βββββββ
What you get
Open source, no lock-in
NervesHub is built with Elixir and is fully open source. Run it yourself or use the hosted NervesCloud service. It's the same platform either way.