fhunleth

fhunleth

Co-author of Nerves

We’re excited to announce that we’re actively working on NervesHub 2.0, an improved version of our IoT device firmware update and management platform for Nerves-based devices. Although NervesHub 1.0 is still available and maintained in the maint-v1.0 branch, we believe 2.0 will enable significant improvements to meet our evolving needs and those of the Nerves community.

Eric Oestrich is leading this effort, with contributions from Jon Carstens, myself, and others. The development is happening in the open, so feel free to check it out and join us on this journey!

Key Goals for NervesHub 2.0:

  1. Self-host: Easily self-host your own NervesHub, especially for small deployments
  2. Scalable to 100Ks of Devices: Addresses performance issues found in real-world NervesHub 1.0 deployments
  3. Simple Rolling Updates: Set up rolling updates directly from the GUI
  4. MQTT Support: Utilize the cloud provider (like AWS IoT) you already have for scalability
  5. Product Environments: Manage fleets of devices at various stages of development
  6. Permission Model: Refocus on environments instead of organizations
  7. Flexible Firmware Push: Push firmware outside of deployments
  8. Improved Health Monitoring: Separate the causes of turning off firmware updates and periodically recheck possible network and power failures
  9. Simplified Code Base: Code deletion, removal of hosted service features, limits, certificate creation (no nerves_hub_ca), and more

This work is not complete, but we have made enough progress that it no longer makes sense to keep it to ourselves. For more details, visit the nerves_hub_web repository on GitHub.

Thank you for your continued support, and stay tuned for more updates on NervesHub 2.0!

Showing Posts 1 to 5

ivanhercaz

ivanhercaz

I have deployed a local instance and I have see in the mock-test devices included the button “Console”, does it means you can remote access to the iex shell of a specific device?

Thank you in advance!

jjcarstens

jjcarstens

Nerves Core Team

Yep. It’s an IEx console in the browser to that specific device if the feature is enabled

steffend

steffend

Phoenix Core Team

Oh I love that! I really like working with nerves, but looking at the current NervesHub deployment always kept me from using it for hobbyist projects. Very excited for this. Maybe I can finally move some stuff from Balena to Nerves while still having easy multi device management.

gangstead

gangstead

Is there an outline of what an environmet permission model means? If not specific to NervesHub maybe what it means in general? I’m always modeling my permissions based on GitHub’s orgs and I always feel like it’s not quite right but I don’t have any better ideas.

jjcarstens

jjcarstens

Nerves Core Team

The GitHub model of org/repo made sense when NervesHub was potentially a public service with a paid model. With 2.0, the shift is towards self hosting and when it’s your own service, the typical concern is usually just the “environment”, or “This is a prod|dev|qa device”.

So the new model is essentially having a single level of separation (dev, qa, prod, testing, etc), rather than the dual (org1-product1, org1-product2, etc etc)

— All posts loaded —

Where Next? Top

Trending in News & Updates Top

Jskalc
LiveVue v1.0 released After four release candidates and a lot of community feedback, LiveVue 1.0 is stable :tada: I’ve built a dedicated...
New
webofbits
Cairn is a small OTP library for message delivery, lightweight function processes, supervised work, and waiting on results. The goal is ...
New
woylie
<span class="hashtag-icon-placeholder"></span>let-me 3.0.4 has been released. Changed Log the policy module and the check module in the...
New
webofbits
Aludel 0.8.0 is now available on GitHub and Hex. This release adds typed_judge assertions for evaluations that need deterministic, struc...
New
woylie
Flop Phoenix 0.27.0 has been released. Changed Require Flop 0.29.0, which turns Flop.Schema from a protocol into a behaviour. Determin...
New
woylie
Flop 0.29.0 has been released. Added Add Flop.allowed_fields/2, which returns the fields that may be filtered or sorted for the given ...
New
woylie
Doggo 0.16.1 has been released. Changed The expanded attribute of the tree_item is now handled as initial state only and cannot be upd...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews