Files
Pagerino_Portainer/AppServer

Pagerino: Application server

Description

Dockerized server communicating with Chirpstack (v4) and processing incoming data.

Features

Current working and in-progress capabilities include:

  • receiving uplinks
  • sending downlinks
  • logging messages and telemetery
  • managing users, devices, messages and other objects
  • accepting api requests

Configuration

Can be found in server.env: CHIRP_API_KEY - used to get more detailed information about the network of devices from Chirpstack

MQTT_ADDRESS - address for MQTT broker that manages uplinks & downlinks, do not change unless you reconfigure the chirpstack as well

MQTT_CLIENT_ID - ID to use when communicating with broker, can be anything

MQTT_QOS - quality of service level, leave at zero unless your network supports it

APP_ID - ID of accessing application registred in Chirpstack

API_PORT - port at which API is provided, this and its wrappers are the only way to officially communicate with the server

The app requires some other shared variables from shared.env. If not present, provide the following: LOG_PREFIX SERVER_NAME TIMEOUT - used for establishing connections

Prerequisites

The server communicates through ssl with MQTT and needs the following files generated from Chirpstack in the certs directory:

  • ca.pem
  • client.key
  • client.pem

It uses Chirpstack's gRPC API, so it needs the compiled proto files into go in the src/app_comm/api directory.

Usage

The server requires to be on the same docker network as MQTT broker and Chirpstack to properly function.

To start have Chirpstack v4 running in detached state and execute: docker compose up

Created by Olek @ Gorak Industries