ChirpStack open-source LoRaWAN Network Server
Go to file
2023-05-30 12:42:42 +00:00
.cargo Implement fully static ARMv7 build. 2023-05-30 12:13:52 +01:00
.docker-compose/postgresql/initdb Initial commit. 2022-04-06 21:18:32 +01:00
.github Update dist workflow. 2023-05-30 12:13:52 +01:00
api Initial Relay support implementation (TS011). 2023-05-22 11:04:13 +01:00
backend Bump version to 4.3.2 2023-04-26 13:02:10 +01:00
chirpstack Update dependencies + Diesel related changes. 2023-05-30 12:42:42 +00:00
cross Refactor build scripts for cross-rs based cross compiling. 2023-05-30 12:13:52 +01:00
examples Bump golang.org/x/net in /examples/frame_log/go (#130) 2023-02-28 11:50:31 +00:00
lrwn Update dependencies + Diesel related changes. 2023-05-30 12:42:42 +00:00
lrwn-filters Bump lrwn_filters version. 2023-04-27 16:00:49 +01:00
ui UI menu grammar & typo fixes. (#186) 2023-05-30 12:22:16 +01:00
.dockerignore Implement fully static AMD64 build. 2023-05-30 12:13:52 +01:00
.env Add dotenv for test dependency config. 2023-05-30 12:13:52 +01:00
.gitattributes Update .gitattributes. 2022-04-06 21:50:23 +01:00
.gitignore Add dotenv for test dependency config. 2023-05-30 12:13:52 +01:00
Cargo.lock Update dependencies + Diesel related changes. 2023-05-30 12:42:42 +00:00
Cargo.toml Add crate for PhyPayload filtering. 2023-04-27 12:51:33 +01:00
Cross.toml Implement fully static ARMv7 build. 2023-05-30 12:13:52 +01:00
docker-compose.yml Update README and Makefiles. 2023-05-30 12:13:52 +01:00
Dockerfile Refactor build scripts for cross-rs based cross compiling. 2023-05-30 12:13:52 +01:00
Dockerfile-devel Refactor build scripts for cross-rs based cross compiling. 2023-05-30 12:13:52 +01:00
LICENSE Initial commit. 2022-04-06 21:18:32 +01:00
Makefile Update dependencies + Diesel related changes. 2023-05-30 12:42:42 +00:00
README.md Update README and Makefiles. 2023-05-30 12:13:52 +01:00
rust-toolchain.toml Implement fully static AMD64 build. 2023-05-30 12:13:52 +01:00
shell.nix Add dotenv for test dependency config. 2023-05-30 12:13:52 +01:00
Vagrantfile Add Vagrantfile example. 2023-05-30 12:13:52 +01:00

ChirpStack open-source LoRaWAN(R) Network Server

CI

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.

Documentation and binaries

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

Building from source

Requirements

Building ChirpStack requires:

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 to setup a VM with Nix and Docker installed. See also the provided Vagrantfile.

Docker

Docker is used by cross-rs 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:

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:

docker-compose up -d

Run tests

Run the following command to run the ChirpStack tests:

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:

make dev-dependencies

Run the following command within the ./chirpstack sub-folder:

# 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

License

ChirpStack Network Server is distributed under the MIT license. See also LICENSE.