The Platform is configured via parameters that can be provided via a Environment variables Config file,
Currently most servers are configures using .yaml files. We are planning to switch to .toml format. The support does support both format in all versions.
Each value is loaded from different locations (highest priority first, e.g. 1. overrides 2.):
- Environment variables
- Config File
- Command line Flags
- Default values
Commandline and Environment Variables
Some options are only available via Environment Variables
Environment Variable | Commandline parameter | Description | Version |
---|---|---|---|
--config | Defile path of config file (default: lobaro-iot-platform.yml) | ||
LOB_JSON_LOGGING=1 | --json_logging=1 | Enable JSON Logging | >= 1.84.1 |
Configuration File
lobaro-backend.toml (Default Configuration)
# This is an generated example config file for the Lobaro Backend # On production systems you can change the default values as required # Enable debug log output Debug = false # License key for the Lobaro Backend to unlock certain features License = '' # TCP port for Tekelek devices TekelekTcpPort = 54345 # TCP port for Dragino devices DraginoTcpPort = 5600 # DevEUI Blocks for Hardware Provisioning DevEUIBlocks = [] # Frontend HTTP Server Configuration [Server] # Frontend URL without trailing slash (not needed when using a single domain) FrontendUrl = '' # Port to listen on, deprecated in favour of Bind. When Bins is set Port is ignored Port = 0 # Address to bind to, e.g. :8082 Bind = ':8082' # Enable development mode. Not safe for production! # Authentication might be disabled. DevMode = false # Token secret to encrypt API Tokens. When changed, all existing Tokens are invalidated. ApiTokenSecret = '' # Token secret to encrypt User Tokens. When changed, all existing Tokens are invalidated. OauthTokenSecret = '' # Token secret to encrypt User Refresh Tokens. When changed, all existing Tokens are invalidated. OauthRefreshTokenSecret = '' # Directory where all file based data is stored DataDir = './data' # DTLS Configuration, used by CoAPs Server [Server.DtlsConfig] DtlsCertDir = '' DtlsCertName = '' AcceptPoolSize = 10000 # Customer specific branding configuration [Branding] PlatformName = 'IoT Platform' FrontendBaseUrl = '' DefaultLogoUrl = '/static/branding/logo.svg' LegalDisclosureUrl = 'https://www.lobaro.com/contact/' ParserDocUrl = 'https://doc.lobaro.com/x/Y4B5' DisplayDocLinks = true IntegrationDocUrl = 'https://doc.lobaro.com/x/YIB5' AllowRegistration = false Favicon = '/static/img/favicon.ico' # Deprecated: use BrandingConfig [Whitelabel] PlatformName = '' # Postgres Database Configuration [Database] Database = 'postgres' Username = 'postgres' Password = 'admin' Host = 'localhost' Port = 5432 SslMode = 'disable' MaxOpenConns = 90 MaxIdleConns = 20 AutoFixMigration = false # Email Server settings [Email] Server = '' Tls = false Username = '' Password = '' Sender = '' # Digimondo Platform specific settings [Digimondo] ApiKey = '' # MQTT Broker Configuration for inbound MQTT Integrations [Mqtt] Name = '' ClientId = '' Broker = '' Username = '' Password = '' # DevEUI Provisioning Configuration [DevEUIConfig] # When set to true, the server will assign a new DevEUI when a device with that DevEUI already exists in the platform CheckDeviceExistOnNewEui = false # Allows to enable/disable single features [FeatureToggle] HardwareActivationEnabled = true WmbusParserApiTabEnabled = true WmbusParserApiPublic = false # JavaScript Device Parser Configuration [Parser] TimeoutMs = 250 # Device Data Storage related Configuration [Data] DefaultRetentionDuration = '' # Organisation related Configuration [Organisation] DefaultUserLimit = 0 DefaultMaxSubOrganisations = 0 MaxDepthSubOrganisations = 10 # NATS related Configuration. NATS is used as the internal Message Broker [Nats] Host = 'localhost' Port = 4222 HTTPPort = 0