ChirpStack
Your own LoRaWAN network server, running on the node next to your gateways.
Category: Industrial Connectivity
ChirpStack is an open source LoRaWAN network server. One App Store install runs the whole stack on the node you pick: ChirpStack 4.19.2, the ChirpStack Gateway Bridge, PostgreSQL, Redis, and an authenticated Mosquitto MQTT broker. Every part runs on x86-64 and ARM64 nodes.
What it does
- Receives uplinks from your LoRa gateways and manages the gateways, devices, and applications behind them.
- Publishes device events to its MQTT broker on
application/<application id>/device/<dev eui>/event/<event>, ready for Node-RED, Telegraf, or your own code. - Keeps its tenants, gateways, and devices in its own PostgreSQL database on a persistent volume.
When to use it
Deploy ChirpStack when you run LoRaWAN sensors at a site and want to own the network server instead of depending on a carrier.
First login: change the password
ChirpStack creates one account on a new install: user admin, password
admin. Anyone who can reach the interface can sign in with it until you
change it. Sign in right after you deploy, open the user menu in the header,
and choose Change password.
The other credentials the stack needs, for the API, PostgreSQL, Redis, and
MQTT, are generated at install and kept across upgrades in the Kubernetes
Secret <release>-credentials. None of them is written into the app's plain
configuration.
Connecting a gateway
Most LoRa gateways ship with the Semtech UDP packet forwarder. The gateway bridge listens for it on UDP port 1700 on the node ChirpStack is deployed to.
- Point the gateway's server address at that node's IP address, port 1700 for both up and down.
- Set the gateway's channel plan to US915, sub-band 2 (902 to 928 MHz, uplink channels 8 to 15 plus 65). That is the region the App Store install runs, and the usual setting for US gateways.
- In ChirpStack, add the gateway under Gateways with its Gateway ID (EUI).
The gateways talk to the node over your plant network, so the node's port 1700 has to be reachable from where the gateways sit.
Running on EmberNet
- One per node. Only one app on a node can hold UDP port 1700, so you can run one ChirpStack per node. Put a second one on another node.
- It needs app subdomains. ChirpStack only works at its own app address, not through EmberCORE's built-in proxy. Its interface opens inside EmberCORE from that address. If your EmberCORE deployment has no app subdomains, the App Store says so before you install it.
- Its own broker. The bundled Mosquitto requires a login and is reachable only inside the cluster. ChirpStack, its region configuration, and the gateway bridge all use the credentials generated for it.
- Other regions. ChirpStack supports other LoRaWAN regions, such as EU868 and AU915, and the app can run them. The App Store installs US915 sub-band 2; if your gateways use another plan, contact Fireball before you deploy.
- Locked down. Every container runs as an unprivileged user with a read-only root filesystem and no added capabilities.