bundlewrap/bundles/mosquitto/files/mosquitto.conf

40 lines
1.4 KiB
Text
Raw Permalink Normal View History

per_listener_settings true
allow_zero_length_clientid true
autosave_interval 5
autosave_on_changes true
log_dest syslog
log_timestamp false
persistence true
persistence_location /var/lib/mosquitto/
pid_file /run/mosquitto/mosquitto.pid
set_tcp_nodelay ${str(node.metadata.get('mosquitto/tcp_nodelay', True)).lower()}
% for port, config in sorted(node.metadata.get('mosquitto/listeners', {}).items()):
listener ${port}
max_connections ${config.get('max_connections', -1)}
protocol ${config.get('protocol', 'mqtt')}
allow_anonymous ${str(config.get('allow_anonymous', True)).lower()}
% endfor
% for bridge, config in sorted(node.metadata.get('mosquitto/bridges', {}).items()):
connection ${bridge}
address ${config['peer']}
bridge_attempt_unsubscribe true
cleansession ${str(config.get('cleansession', True)).lower()}
notifications true
notifications_local_only true
remote_clientid ${config.get('client_id', node.name)}
% if 'auth' in config:
remote_password ${config['auth']['password']}
remote_username ${config['auth']['username']}
% endif
start_type automatic
% for topic in config['topics']:
topic ${topic['pattern']} ${topic.get('direction', 'in')} ${topic.get('qos', 0)} /${topic.get('local_prefix', bridge)}/ ${topic.get('remote_prefix', '')}
% endfor
try_private ${str(config.get('try_private', True)).lower()}
% endfor