Requirements
ChirpStack uses several external components for storage of data and receiving gateway events and sending gateway commands.
MQTT broker
By default, ChirpStack uses MQTT for subscribing to gateway events and sending commands to the gateway. Mosquitto is a popular open-source MQTT broker. Any other MQTT broker can be used, as long as it implements the MQTT v5.0 specification and supports shared-subscriptions.
Install
Debian / Ubuntu
To install Mosquitto:
sudo apt install mosquitto
Other platforms
Please refer to the Mosquitto download page for information about how to setup Mosquitto for your platform.
PostgreSQL database
ChirpStack uses PostgreSQL as persistent data-storage. PostgreSQL 9.5+ is required.
Install
Debian / Ubuntu
To install the PostgreSQL:
sudo apt install postgresql
Other platforms
Please refer to the PostgreSQL download page for information how to setup PostgreSQL on your platform.
Create database
Once PostgreSQL has been installed, you can use the following command to
create a chirpstack
role with chirpstack
as password and a chirpstack
database. Note: the pg_trgm
extension must be installed (see example
below).
From the CLI:
sudo -u postgres psql
Within the SQL console:
-- create role for authentication
create role chirpstack with login password 'chirpstack';
-- create database
create database chirpstack with owner chirpstack;
-- change to chirpstack database
\c chirpstack
-- create pg_trgm extension
create extension pg_trgm;
-- exit psql
\q
Redis database
ChirpStack stores device-sessions, metrics and cache into a Redis database. Note that at least Redis 5.0.0 is required.
Install
Debian / Ubuntu
To Install Redis:
sudo apt install redis-server
Other platforms
Please refer to the Redis documentation for information about how to setup Redis for your platform.