# 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). 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.