This repository contains a skeleton to setup the ChirpStack open-source LoRaWAN Network Server (v4) using Docker Compose.
Note: Please use this docker-compose.yml
file as a starting point for testing
but keep in mind that for production usage it might need modifications.
docker-compose.yml
: the docker-compose file containing the servicesconfiguration/chirpstack
: directory containing the ChirpStack configuration filesconfiguration/chirpstack-gateway-bridge
: directory containing the ChirpStack Gateway Bridge configurationconfiguration/mosquitto
: directory containing the Mosquitto (MQTT broker) configurationconfiguration/postgresql/initdb/
: directory containing PostgreSQL initialization scripts
This setup is pre-configured for all regions. You can either connect a ChirpStack Gateway Bridge instance (v3.14.0+) to the MQTT broker (port 1883) or connect a Semtech UDP Packet Forwarder. Please note that:
- You must prefix the MQTT topic with the region
Please see the region configuration files in the
configuration/chirpstack
for a list of topic prefixes (e.g. eu868, us915_0, au915, as923_2, ...). - The protobuf marshaler is configured.
This setup also comes with a ChirpStack Gateway Bridge instance which is configured to the eu868 topic prefix. You can connect your UDP packet-forwarder based gateway to port 1700.
PostgreSQL and Redis data is persisted in Docker volumes, see the docker-compose.yml
volumes
definition.
Before using this docker-compose.yml
file, make sure you have Docker
installed.
To import the TTN lorawan-devices repository (optional step), run the following command:
make import-lorawan-devices
This will clone the lorawan-devices
repository and execute the import-ttn-lorawan-devices
command of ChirpStack. Please note that for this step, you need to have the git
and make
commands installed.
To start the ChirpStack simply run:
$ docker-compose up
After all the components have been initialized and started, you should be able to open http://localhost:8080/ in your browser.
The example includes the ChirpStack REST API. You should be able to access the UI by opening http://localhost:8090 in your browser.
Note: It is recommended to use the gRPC interface over the REST interface.