# Logging. [logging] # Log level. # # Options are: trace, debug, info, warn error. level="info" # PostgreSQL configuration. [postgresql] # PostgreSQL DSN. # # Format example: postgres://:@/?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"