Configuration

To list all CLI options, start chirpstack-gateway-mesh with the --help flag. This will print:

ChirpStack Gateway Mesh Usage: chirpstack-gateway-mesh [OPTIONS] [COMMAND] Commands: configfile Print the configuration template help Print this message or the help of the given subcommand(s) Options: -c, --config <FILE> -h, --help Print help -V, --version Print version

Configuration example

Example chirpstack-gateway-mesh.toml configuration:

# Logging settings. [logging] # Log level. # # Valid options are: # * TRACE # * DEBUG # * INFO # * WARN # * ERROR # * OFF level="INFO" # Log to syslog. # # When set to true, log messages are being written to syslog instead of stdout. log_to_syslog=false # Mesh configuration. [mesh] # Mesh root key (AES128, HEX encoded). # # This key is used to derive the signing and encryption keys. The same key # must be configured on every Border and Relay gateway. root_key="00000000000000000000000000000000" # Signing key (AES128, HEX encoded) (deprecated). # # This key is used to sign and validate each mesh packet. This key must be # configured on every Border / Relay gateway equally. # # Deprecation note: If set, the signing key will not be derrived from the # above root_key, but this key will be used. signing_key="00000000000000000000000000000000" # Border Gateway. # # If this is set to true, then the ChirpStack Gateway Mesh will consider # this gateway as a Border Gateway, meaning that it will unwrap relayed # uplinks and forward these to the proxy API, rather than relaying these. border_gateway=false # Max hop count. # # This defines the maximum number of hops a relayed payload will pass. max_hop_count=1 # Ignore direct uplinks (Border Gateway). # # If this is set to true, then direct uplinks (uplinks that are not relay # encapsulated) will be silently ignored. This option is especially useful # for testing, in which case you want to set this to true for the Border # Gateway. border_gateway_ignore_direct_uplinks=false # Mesh frequencies. # # The ChirpStack Gateway Mesh will randomly use one of the configured # frequencies when relaying uplink and downlink messages. frequencies=[ 868100000, 868300000, 868500000, ] # TX Power (EIRP). # # The TX Power in EIRP used when relaying uplink and downlink messages. tx_power=16 # Data-rate properties. # # The data-rate properties when relaying uplink and downlink messages. [mesh.data_rate] # Modulation. # # Valid options are: LORA, FSK modulation="LORA" # Spreading-factor (LoRa). spreading_factor=7 # Bandwidth (LoRa). bandwidth=125000 # Code-rate (LoRa). code_rate="4/5" # Bitrate (FSK). bitrate=0 # Proxy API configuration. # # If the gateway is configured to operate as Border Gateway. It # will unwrap relayed uplink frames, and will wrap downlink payloads that # must be relayed. In this case the ChirpStack MQTT Forwarder must be # configured to use the proxy API instead of the Concentratord API. # # Payloads of devices that are under the direct coverage of this gateway # are transparently proxied between the ChirpStack MQTT Forwarder and # ChirpStack Concentratord. # # This configuration is only used when the border_gateway option is set # to true. [mesh.proxy_api] # Event PUB socket bind. event_bind="ipc:///tmp/gateway_relay_event" # Command REP socket bind. command_bind="ipc:///tmp/gateway_relay_command" # Backend configuration. [backend] # ChirpStack Concentratord configuration (end-device communication). [backend.concentratord] # Event API URL. event_url="ipc:///tmp/concentratord_event" # Command API URL. command_url="ipc:///tmp/concentratord_command" # ChirpStack Concentratord configuration (mesh communication). # # While not required, this configuration makes it possible to use a different # Concentratord instance for the mesh communication. E.g. this # makes it possible to use ISM2400 for mesh communication and EU868 for # communication with the end-devices. [backend.mesh_concentratord] # Event API URL. event_url="ipc:///tmp/concentratord_event" # Command API URL. command_url="ipc:///tmp/concentratord_command" # Events configuration (Relay only). [events] # Heartbeat interval (Relay Gateway only). # # This defines the interval in which a Relay Gateway (border_gateway=false) # will emit heartbeat messages. heartbeat_interval="5m" # Commands. # # This configures for each event type the command that must be executed. The # stdout of the command will be used as event payload. Example: # # 128 = ["/path/to/command", "arg1", "arg2"] # [events.commands] # Event sets (can be repeated). # # This configures sets of events that will be periodically sent by the # relay. Example: # # [[events.sets]] # interval = "5min" # events = [128, 129, 130] # # Commands configuration (Relay only). [commands] # Commands. # # On receiving a command, the Gateway Mesh will execute the command matching # the command type (128 - 255 is for proprietary commands). The payload will # be provided to the command using stdin. The returned stdout will be sent # back as event (using the same type). Example: # # "129" = ["/path/to/command", "arg1", "arg2"] # [commands.commands]