2023-01-24 15:19:41 +00:00
|
|
|
# ChirpStack open-source LoRaWAN(R) Network Server
|
2022-04-06 20:18:32 +00:00
|
|
|
|
|
|
|
![CI](https://github.com/chirpstack/chirpstack/actions/workflows/main.yml/badge.svg?branch=master)
|
|
|
|
|
2023-01-24 15:19:41 +00:00
|
|
|
ChirpStack is an open-source LoRaWAN(R) Network Server which can be used to set
|
|
|
|
up LoRaWAN networks. ChirpStack provides a web-interface for the management of
|
|
|
|
gateways, devices and tenants as well to set up data integrations with the major
|
|
|
|
cloud providers, databases and services commonly used for handling device data.
|
|
|
|
ChirpStack provides a gRPC based API that can be used to integrate or extend
|
|
|
|
ChirpStack.
|
2022-04-06 20:18:32 +00:00
|
|
|
|
2023-05-30 11:08:52 +00:00
|
|
|
## Documentation and binaries
|
2022-04-06 20:18:32 +00:00
|
|
|
|
2022-09-28 11:55:48 +00:00
|
|
|
Please refer to the [ChirpStack](https://www.chirpstack.io/) website for
|
2023-05-30 11:08:52 +00:00
|
|
|
documentation and pre-compiled binaries.
|
|
|
|
|
|
|
|
## Building from source
|
|
|
|
|
|
|
|
### Requirements
|
|
|
|
|
|
|
|
Building ChirpStack requires:
|
|
|
|
|
|
|
|
* [Nix](https://nixos.org/download.html) (recommended) and
|
|
|
|
* [Docker](https://www.docker.com/)
|
|
|
|
|
|
|
|
#### Nix
|
|
|
|
|
|
|
|
Nix is used for defining the development environment which is used for local
|
|
|
|
development and for creating the final binaries.
|
|
|
|
|
|
|
|
If you do not have Nix installed and do not want to, then you could also look at
|
|
|
|
the dependencies specified in the `shell.nix` file and install these manually.
|
|
|
|
Alternatively use [Vagrant](https://www.vagrantup.com/) to setup a VM with Nix and Docker
|
|
|
|
installed. See also the provided `Vagrantfile`.
|
|
|
|
|
|
|
|
#### Docker
|
|
|
|
|
|
|
|
Docker is used by [cross-rs](https://github.com/cross-rs/cross) for cross-compiling,
|
|
|
|
as well as some of the `make` commands you will find in the ChirpStack project.
|
|
|
|
|
|
|
|
### Starting the development shell
|
|
|
|
|
|
|
|
Run the following command to start the development shell:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
nix-shell
|
|
|
|
```
|
|
|
|
|
|
|
|
### Building the UI
|
|
|
|
|
|
|
|
To build the ChirpStack UI, execute the following command:
|
|
|
|
|
|
|
|
```
|
|
|
|
make build-ui
|
|
|
|
```
|
|
|
|
|
|
|
|
Note that the ChirpStack UI is built using
|
|
|
|
|
|
|
|
### Running ChirpStack tests
|
|
|
|
|
|
|
|
#### Start required services
|
|
|
|
|
|
|
|
ChirpStack requires several services like PostgresQL, Redis, Mosquitto, ...
|
|
|
|
to be running before you can run the tests.
|
|
|
|
|
|
|
|
Execute the following command to start these:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker-compose up -d
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Run tests
|
|
|
|
|
|
|
|
Run the following command to run the ChirpStack tests:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
make test
|
|
|
|
```
|
|
|
|
|
|
|
|
### Building ChirpStack
|
|
|
|
|
|
|
|
Before compiling the binaries, you need to install some additional development
|
|
|
|
tools (for cross-compiling, packaging, e.d.). Execute the following command:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
make dev-dependencies
|
|
|
|
```
|
|
|
|
|
|
|
|
Run the following command within the `./chirpstack` sub-folder:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# Build AMD64 debug build (optimized for build speed)
|
|
|
|
make debug-amd64
|
|
|
|
|
|
|
|
# Build AMD64 release build (optimized for performance and binary size)
|
|
|
|
make release-amd64
|
|
|
|
|
|
|
|
# Build all packages (all targets, .deb, .rpm and .tar.gz files)
|
|
|
|
make dist
|
|
|
|
```
|
2022-04-06 20:18:32 +00:00
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
ChirpStack Network Server is distributed under the MIT license. See also
|
|
|
|
[LICENSE](https://github.com/brocaar/chirpstack/blob/master/LICENSE).
|