{# SPDX-FileCopyrightText: 2026 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later #} {# Note: this template is rendered, parsed as YAML, merged with `matrix_bot_meowlnir_configuration_extension`, and dumped again. Comments written here therefore do not reach the final configuration file. Secrets must always be rendered explicitly. Meowlnir re-runs its configuration upgrader in memory on every start, so a literal `generate` value would produce a brand new secret on each restart. #} homeserver: address: {{ matrix_bot_meowlnir_config_homeserver_address | to_json }} domain: {{ matrix_bot_meowlnir_config_homeserver_domain | to_json }} meowlnir: id: {{ matrix_bot_meowlnir_appservice_id | to_json }} as_token: {{ matrix_bot_meowlnir_appservice_token | to_json }} hs_token: {{ matrix_bot_meowlnir_homeserver_token | to_json }} address: {{ matrix_bot_meowlnir_appservice_url | to_json }} hostname: {{ matrix_bot_meowlnir_config_meowlnir_hostname | to_json }} port: {{ matrix_bot_meowlnir_config_meowlnir_port | int }} management_secret: {{ matrix_bot_meowlnir_config_meowlnir_management_secret | to_json }} data_secret: {{ matrix_bot_meowlnir_config_meowlnir_data_secret | to_json }} federation_auth: {{ matrix_bot_meowlnir_config_meowlnir_federation_auth | to_json }} dry_run: {{ matrix_bot_meowlnir_config_meowlnir_dry_run | to_json }} untrusted: {{ matrix_bot_meowlnir_config_meowlnir_untrusted | to_json }} report_room: {{ matrix_bot_meowlnir_config_meowlnir_report_room | to_json if matrix_bot_meowlnir_config_meowlnir_report_room else 'null' }} room_ban_room: {{ matrix_bot_meowlnir_config_meowlnir_room_ban_room | to_json if matrix_bot_meowlnir_config_meowlnir_room_ban_room else 'null' }} load_all_room_hashes: {{ matrix_bot_meowlnir_config_meowlnir_load_all_room_hashes | to_json }} hacky_rule_filter: {{ matrix_bot_meowlnir_config_meowlnir_hacky_rule_filter | to_json }} hacky_redact_patterns: {{ matrix_bot_meowlnir_config_meowlnir_hacky_redact_patterns | to_json }} admin_tokens: {{ matrix_bot_meowlnir_config_meowlnir_admin_tokens | to_json }} meowlnir4all: admin_room: {{ matrix_bot_meowlnir_config_meowlnir4all_admin_room | to_json if matrix_bot_meowlnir_config_meowlnir4all_admin_room else 'null' }} localpart_template: {{ matrix_bot_meowlnir_config_meowlnir4all_localpart_template | to_json }} displayname: {{ matrix_bot_meowlnir_config_meowlnir4all_displayname | to_json if matrix_bot_meowlnir_config_meowlnir4all_displayname else 'null' }} avatar_url: {{ matrix_bot_meowlnir_config_meowlnir4all_avatar_url | to_json if matrix_bot_meowlnir_config_meowlnir4all_avatar_url else 'null' }} room_name: {{ matrix_bot_meowlnir_config_meowlnir4all_room_name | to_json }} default_watched_lists: {{ matrix_bot_meowlnir_config_meowlnir4all_default_watched_lists | to_json }} antispam: secret: {{ matrix_bot_meowlnir_config_antispam_secret | to_json }} filter_local_invites: {{ matrix_bot_meowlnir_config_antispam_filter_local_invites | to_json }} auto_reject_invites_token: {{ matrix_bot_meowlnir_config_antispam_auto_reject_invites_token | to_json if matrix_bot_meowlnir_config_antispam_auto_reject_invites_token else 'null' }} notify_management_room: {{ matrix_bot_meowlnir_config_antispam_notify_management_room | to_json }} block_invites_to: {{ matrix_bot_meowlnir_config_antispam_block_invites_to | to_json }} policy_server: always_redact: {{ matrix_bot_meowlnir_config_policy_server_always_redact | to_json }} signing_key: {{ matrix_bot_meowlnir_config_policy_server_signing_key | to_json }} encryption: enable: {{ matrix_bot_meowlnir_config_encryption_enable | to_json }} pickle_key: {{ matrix_bot_meowlnir_config_encryption_pickle_key | to_json }} database: type: {{ matrix_bot_meowlnir_database_engine | to_json }} uri: {{ matrix_bot_meowlnir_database_connection_string | to_json }} max_open_conns: {{ matrix_bot_meowlnir_config_database_max_open_conns | int }} max_idle_conns: {{ matrix_bot_meowlnir_config_database_max_idle_conns | int }} max_conn_idle_time: {{ matrix_bot_meowlnir_config_database_max_conn_idle_time | to_json if matrix_bot_meowlnir_config_database_max_conn_idle_time else 'null' }} max_conn_lifetime: {{ matrix_bot_meowlnir_config_database_max_conn_lifetime | to_json if matrix_bot_meowlnir_config_database_max_conn_lifetime else 'null' }} synapse_db: type: postgres uri: {{ matrix_bot_meowlnir_synapse_database_uri | to_json }} max_open_conns: {{ matrix_bot_meowlnir_config_synapse_db_max_open_conns | int }} max_idle_conns: {{ matrix_bot_meowlnir_config_synapse_db_max_idle_conns | int }} max_conn_idle_time: {{ matrix_bot_meowlnir_config_synapse_db_max_conn_idle_time | to_json if matrix_bot_meowlnir_config_synapse_db_max_conn_idle_time else 'null' }} max_conn_lifetime: {{ matrix_bot_meowlnir_config_synapse_db_max_conn_lifetime | to_json if matrix_bot_meowlnir_config_synapse_db_max_conn_lifetime else 'null' }} logging: min_level: {{ matrix_bot_meowlnir_config_logging_min_level | to_json }} writers: {{ matrix_bot_meowlnir_config_logging_writers | to_json }}