NervesHub vs NervesCloud

How self-hosted NervesHub and the hosted NervesCloud service differ, and which host your devices and CLI connect to.

Written By Josh Kalderimis

Last updated About 2 months ago

Same platform, two ways to run it.

NervesHub

NervesCloud

What

Open-source, self-hostable software

Managed, hosted service

You run

App server, PostgreSQL, object storage, (optional ClickHouse)

Nothing; it's hosted

Best when

You need control over data/infra or want to extend it

You'd rather not operate infrastructure

Web app

Your own domain

https://manage.nervescloud.com

Get started

Self-hosting NervesHub

nervescloud.com

It's one codebase, so concepts and workflows are identical: organizations, products, devices, firmware, deployment groups, releases, auth, remote console, health, the nh CLI, and the HTTP API all work the same.

Almost everything in these docs applies to both. Anything specific to one (self-hosting config, or hosted account/billing) is called out where it comes up.

Which host do I connect to?

The main practical difference is the host your devices and CLI talk to.

NervesCloud (hosted)

NervesHub (self-hosted)

Web app

manage.nervescloud.com

your domain

Device host
(in nerves_hub_link)

manage.nervescloud.com

your device endpoint

CLI default (nh)

manage.nervescloud.com

set with nh config set uri

The nh CLI defaults to NervesCloud. Point it at a self-hosted instance with:

nh config set uri "https://my.selfhosted.instance/"

See the CLI reference and Configure NervesHubLink.