Files
Pagerino_Portainer/Chirpstack_v4/configuration/chirpstack/chirpstack.toml
2025-09-11 22:26:30 +02:00

205 lines
5.6 KiB
TOML

# Logging.
[logging]
# Log level.
#
# Options are: trace, debug, info, warn error.
level="info"
# PostgreSQL configuration.
[postgresql]
# PostgreSQL DSN.
#
# Format example: postgres://<USERNAME>:<PASSWORD>@<HOSTNAME>/<DATABASE>?sslmode=<SSLMODE>.
#
# SSL mode options:
# * disable - Do not use TLS
# * prefer - Attempt to connect with TLS but allow sessions without
# * require - Require the use of TLS
dsn="postgres://chirpstack:chirpstack@$POSTGRESQL_HOST/chirpstack?sslmode=disable"
# Max open connections.
#
# This sets the max. number of open connections that are allowed in the
# PostgreSQL connection pool.
max_open_connections=10
# Min idle connections.
#
# This sets the min. number of idle connections in the PostgreSQL connection
# pool (0 = equal to max_open_connections).
min_idle_connections=0
# Redis configuration.
[redis]
# Server address or addresses.
#
# Set multiple addresses when connecting to a cluster.
servers=[
"redis://$REDIS_HOST/",
]
# TLS enabled.
tls_enabled=false
# Redis Cluster.
#
# Set this to true when the provided URLs are pointing to a Redis Cluster
# instance.
cluster=false
# Network related configuration.
[network]
# Network identifier (NetID, 3 bytes) encoded as HEX (e.g. 010203).
net_id="10204"
# Enabled regions.
#
# Multiple regions can be enabled simultaneously. Each region must match
# the 'name' parameter of the region configuration in '[[regions]]'.
enabled_regions=[
# "as923",
# "as923_2",
# "as923_3",
# "as923_4",
# "au915_0",
# "cn470_10",
# "cn779",
# "eu433",
"eu868"
# "in865",
# "ism2400",
# "kr920",
# "ru864",
# "us915_0",
# "us915_1",
]
# API interface configuration.
[api]
# interface:port to bind the API interface to.
bind="0.0.0.0:8080"
# Secret.
#
# This secret is used for generating login and API tokens, make sure this
# is never exposed. Changing this secret will invalidate all login and API
# tokens. The following command can be used to generate a random secret:
# openssl rand -base64 32
secret="7E7bNXrmFoFznYKTqWBUrz5lGBpHx3N2zdabP1jCd5s="
# Global gateway configuration.
# Please note that backend configuration can be found in the per-region
# configuration.
[gateway]
# CA certificate and key file (optional).
#
# If setting the CA certificate and key file options, ChirpStack
# will generate client certificates which can be used by the gateway for
# authentication and authorization. The Common Name of the certificate will
# be set to the Gateway ID.
#
# The ca_key is expected to be in PKCS#8 format (you can use openssl to
# convert to PKCS#8).
ca_cert="/etc/chirpstack/certs/ca.pem"
ca_key="/etc/chirpstack/certs/ca-key.pem"
# Certificate lifetime.
#
# This defines how long (after generating) the certificate remains valid.
client_cert_lifetime="365days"
# Allow unknown gateways.
#
# If set to true, then uplinks received from gateways not configured in
# ChirpStack will be allowed.
allow_unknown_gateways=false
# RX timestamp max. drift.
#
# If the delta between the gateway reported RX timestamp vs ChirpStack
# server time is bigger than the configured value, then ChirpStack will
# ignore it. ChirpStack will then use the RX timestamp from the other
# receiving gateways, or failing that, will fall back onto the current
# server time.
rx_timestamp_max_drift="30s"
[integration]
enabled=["mqtt"]
[integration.mqtt]
# Event topic template.
event_topic="application/{{application_id}}/device/{{dev_eui}}/event/{{event}}"
# Command topic.
#
# This is the topic on which the MQTT subscribes for receiving (enqueue) commands.
command_topic="application/{{application_id}}/device/{{dev_eui}}/command/{{command}}"
# Use JSON encoding instead of Protobuf (binary).
json=true
# MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws)
server="ssl://$MQTT_BROKER_HOST:8883/"
# Connect with the given username (optional)
# username=""
# Connect with the given password (optional)
# password=""
# Quality of service level
#
# 0: at most once
# 1: at least once
# 2: exactly once
#
# Note: an increase of this value will decrease the performance.
# For more information: https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels
qos=0
# Clean session
#
# Set the "clean session" flag in the connect message when this client
# connects to an MQTT broker. By setting this flag you are indicating
# that no messages saved by the broker for this client should be delivered.
clean_session=false
# Client ID
#
# Set the client id to be used by this client when connecting to the MQTT
# broker. A client id must be no longer than 23 characters. If left blank,
# a random id will be generated by ChirpStack.
client_id="chirpstack"
# Keep alive interval.
#
# This defines the maximum time that that should pass without communication
# between the client and server.
keep_alive_interval="30s"
# CA certificate file (optional)
#
# Use this when setting up a secure connection (when server uses ssl://...)
# but the certificate used by the server is not trusted by any CA certificate
# on the server (e.g. when self generated).
ca_cert="/etc/chirpstack/certs/ca.pem"
# TLS certificate file (optional)
tls_cert="/etc/chirpstack/certs/client.pem"
# TLS key file (PKCS#8) (optional)
tls_key="/etc/chirpstack/certs/client.key"