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.