ChirpStack MQTT Forwarder is a forwarder which can be installed on the gateway to forward LoRa data over MQTT.
  • Rust 95.8%
  • Makefile 3.5%
  • Nix 0.5%
  • Shell 0.2%
Find a file
2026-07-13 12:01:03 +01:00
.docker-compose/mosquitto Replace paho-mqtt by rumqttc. 2023-11-24 15:53:22 +00:00
.github chore: update dependencies 2026-07-07 11:06:39 +01:00
.vscode Refactor cross compiling + update README. 2023-05-31 12:33:25 +01:00
cross Update cross-rs container images. 2024-06-25 13:54:48 +01:00
packaging Fix Kerlink firewall rule security issue. 2024-03-11 09:56:42 +00:00
src fix: add additional mqtt subscribe handling 2026-07-07 10:59:56 +01:00
tests Add support for metadata commands returning (multi-line) key/value output (#71) 2026-02-09 16:39:05 +00:00
.env Refactor cross compiling + update README. 2023-05-31 12:33:25 +01:00
.gitignore Cargo install cross in project root/.cargo + update PATH. 2026-01-23 13:38:14 +00:00
Cargo.lock Bump version to 4.6.0 2026-07-13 12:01:03 +01:00
Cargo.toml Bump version to 4.6.0 2026-07-13 12:01:03 +01:00
Cross.toml Add x86_64-unknown-linux-musl target (#46) 2023-11-03 08:12:54 +00:00
docker-compose.yml Fix test Compose configuration. 2023-11-24 16:18:53 +00:00
Dockerfile-devel Refactor cross compiling + update README. 2023-05-31 12:33:25 +01:00
LICENSE Initial commit. 2022-10-17 11:22:16 +01:00
Makefile Fix MIPS compilation. 2026-01-28 14:10:43 +00:00
README.md Refactor cross compiling + update README. 2023-05-31 12:33:25 +01:00
rust-toolchain.toml chore: update dependencies 2026-07-07 11:06:39 +01:00
shell.nix chore: update dependencies 2026-07-07 11:06:39 +01:00
taplo.toml Add taplo.toml for TOML formatting. 2026-01-15 10:12:52 +00:00

ChirpStack MQTT Forwarder

CI

ChirpStack MQTT Forwarder is a Semtech UDP and ChirpStack Concentratord to MQTT forwarder. It is intended to run on the gateway and is a more lightweight alternative to the ChirpStack Gateway Bridge such that it can run on gateways with a limited amount of flash memory.

Documentation and binaries

Please refer to the ChirpStack website for documentation and pre-compiled binaries.

Building from source

Requirements

Building ChirpStack MQTT Forwarder requires:

Nix

Nix is used for setting up the development environment which is used for local development and for creating the binaries.

If you do not have Nix installed and do not wish to install it, then you can use the provided Docker Compose based Nix environment. To start this environment execute the following command:

make docker-devshell

Note: You will be able to run the test commands and run cargo build, but cross-compiling will not work within this environment (because it would try start Docker within Docker).

Docker

Docker is used by cross-rs for cross-compiling, as well as some of the make commands.

Starting the development shell

Run the following command to start the development shell:

nix-shell

Or if you do not have Nix installed, execute the following command:

make docker-devshell

Running tests

Start required services

ChirpStack MQTT Forwarder depends on a MQTT broker for running the tests. You need to start this service manually if you started the development shell using nix-shell:

docker-compose up -d

Run tests

Execute the following command to run the tests:

make test

Building binaries

Execute the following commands to build the ChirpStack MQTT Forwarder binaries and packages:

# Only build binaries
make build

# Build binaries + distributable packages.
make dist

License

ChirpStack MQTT Forwarder is distributed under the MIT license. See also LICENSE.