chirpstack-docker/README.md
2022-08-26 09:35:52 -04:00

72 lines
2.7 KiB
Markdown

# ChirpStack Docker example
This repository contains a skeleton to setup the [ChirpStack](https://www.chirpstack.io)
open-source LoRaWAN Network Server (v4) using [Docker Compose](https://docs.docker.com/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.
## Directory layout
* `docker-compose.yml`: the docker-compose file containing the services
* `configuration/chirpstack`: directory containing the ChirpStack configuration files
* `configuration/chirpstack-gateway-bridge`: directory containing the ChirpStack Gateway Bridge configuration
* `configuration/mosquitto`: directory containing the Mosquitto (MQTT broker) configuration
* `configuration/postgresql/initdb/`: directory containing PostgreSQL initialization scripts
## Configuration
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.
# Data persistence
PostgreSQL and Redis data is persisted in Docker volumes, see the `docker-compose.yml`
`volumes` definition.
## Requirements
Before using this `docker-compose.yml` file, make sure you have [Docker](https://www.docker.com/community-edition)
installed.
## Importing TTN device repository
To import the TTN [lorawan-devices](https://github.com/TheThingsNetwork/lorawan-devices)
repository (optional step), run the following command:
```bash
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.
## Usage
To start the ChirpStack simply run:
```bash
$ 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](https://github.com/chirpstack/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](https://www.chirpstack.io/docs/chirpstack/api/grpc.html)
interface over the [REST](https://www.chirpstack.io/docs/chirpstack/api/rest.html) interface.