Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

430 lines
25 KiB

  1. ---
  2. # baibot is a bot exposing the power of Large Language Models to you.
  3. # Project source code URL: https://github.com/etkecc/baibot
  4. matrix_bot_baibot_enabled: true
  5. matrix_bot_baibot_container_image_self_build: false
  6. matrix_bot_baibot_container_repo: "https://github.com/etkecc/baibot.git"
  7. matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_version == 'latest' else matrix_bot_baibot_version }}"
  8. matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
  9. # renovate: datasource=docker depName=ghcr.io/etkecc/baibot
  10. matrix_bot_baibot_version: latest
  11. matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_name_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
  12. matrix_bot_baibot_container_image_name_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else 'ghcr.io/' }}"
  13. matrix_bot_baibot_container_image_force_pull: "{{ matrix_bot_baibot_container_image.endswith(':latest') }}"
  14. matrix_bot_baibot_base_path: "{{ matrix_base_data_path }}/baibot"
  15. matrix_bot_baibot_config_path: "{{ matrix_bot_baibot_base_path }}/config"
  16. matrix_bot_baibot_data_path: "{{ matrix_bot_baibot_base_path }}/data"
  17. matrix_bot_baibot_container_network: ""
  18. matrix_bot_baibot_container_additional_networks: "{{ matrix_bot_baibot_container_additional_networks_auto + matrix_bot_baibot_container_additional_networks_custom }}"
  19. matrix_bot_baibot_container_additional_networks_auto: []
  20. matrix_bot_baibot_container_additional_networks_custom: []
  21. # A list of extra arguments to pass to the container
  22. matrix_bot_baibot_container_extra_arguments: []
  23. # List of systemd services that matrix-bot-baibot.service depends on
  24. matrix_bot_baibot_systemd_required_services_list: "{{ matrix_bot_baibot_systemd_required_services_list_default + matrix_bot_baibot_systemd_required_services_list_auto + matrix_bot_baibot_systemd_required_services_list_custom }}"
  25. matrix_bot_baibot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  26. matrix_bot_baibot_systemd_required_services_list_auto: []
  27. matrix_bot_baibot_systemd_required_services_list_custom: []
  28. # List of systemd services that matrix-bot-baibot.service wants
  29. matrix_bot_baibot_systemd_wanted_services_list: []
  30. # Controls the `homeserver.server_name` configuration setting.
  31. matrix_bot_baibot_config_homeserver_server_name: "{{ matrix_domain }}"
  32. # Controls the `homeserver.url` configuration setting.
  33. matrix_bot_baibot_config_homeserver_url: ""
  34. # Controls the `user.mxid_localpart` configuration setting.
  35. #
  36. # This affects the bot's username.
  37. # Changing this subsequently will require you to drop the bot's session/database (see `matrix_bot_baibot_data_path`),
  38. # so it can start fresh.
  39. matrix_bot_baibot_config_user_mxid_localpart: baibot
  40. # Controls the `user.password` configuration setting.
  41. matrix_bot_baibot_config_user_password: ''
  42. # Controls the `user.name` configuration setting.
  43. #
  44. # The name the bot uses as a display name and when it refers to itself.
  45. # If you leave this empty, the bot will use the default (baibot).
  46. #
  47. # Also see: `matrix_bot_baibot_config_user_mxid_localpart`
  48. matrix_bot_baibot_config_user_name: baibot
  49. # Controls the `user.encryption.recovery_passphrase` configuration setting.
  50. #
  51. # An optional passphrase to use for backing up and recovering the bot's encryption keys.
  52. # You can use any string here.
  53. #
  54. # If left empty, the recovery module will not be used and losing your session/database (see persistence)
  55. # will mean you lose access to old messages in encrypted room.
  56. #
  57. # Changing this subsequently will also cause you to lose access to old messages in encrypted rooms.
  58. # If you really need to change this:
  59. # - Set `matrix_bot_baibot_config_user_encryption_recovery_reset_allowed` to `true` and adjust the passphrase
  60. # - Remove your session file and database (see persistence)
  61. # - Restart the bot
  62. # - Then restore `matrix_bot_baibot_config_user_encryption_recovery_reset_allowed` to `false` to prevent accidental resets in the future
  63. matrix_bot_baibot_config_user_encryption_recovery_passphrase: null
  64. # Controls the `user.encryption.recovery_passphrase` configuration setting.
  65. #
  66. # An optional flag to reset the encryption recovery passphrase (see `matrix_bot_baibot_config_user_encryption_recovery_passphrase`).
  67. matrix_bot_baibot_config_user_encryption_recovery_reset_allowed: false
  68. # Controls the `command_prefix` configuration setting.
  69. # If you leave this empty, the bot will use the default (!bai).
  70. matrix_bot_baibot_config_command_prefix: "!bai"
  71. # Controls the `access.admin_patterns` configuration setting.
  72. # A space-separated list of MXID patterns which specify who is an admin.
  73. #
  74. # Example:
  75. # matrix_bot_baibot_config_access_admin_patterns:
  76. # - "@*:example.com"
  77. # - "@admin:another.com"
  78. matrix_bot_baibot_config_access_admin_patterns: "{{ [matrix_admin] if matrix_admin else [] }}"
  79. # Controls the `persistence.data_dir_path` configuration setting.
  80. #
  81. # The bot runs in a container, so this is the in-container path referring to the data directory on the host
  82. # (see `matrix_bot_baibot_data_path`).
  83. #
  84. # You generally don't need to change this.
  85. matrix_bot_baibot_config_persistence_data_dir_path: /data
  86. # Controls the `persistence.session_encryption_key` configuration setting.
  87. #
  88. # An optional secret for encrypting the bot's session data (see `matrix_bot_baibot_data_path`).
  89. # This must be 32-bytes (64 characters when HEX-encoded).
  90. # Generate it with: `openssl rand -hex 32`
  91. # Leave null or empty to avoid using encryption.
  92. # Changing this subsequently requires that you also throw away all data (see `matrix_bot_baibot_data_path`)
  93. matrix_bot_baibot_config_persistence_session_encryption_key: null
  94. # Controls the `persistence.config_encryption_key` configuration setting.
  95. #
  96. # An optional secret for encrypting bot configuration stored in Matrix's account data.
  97. # This must be 32-bytes (64 characters when HEX-encoded).
  98. # Generate it with: `openssl rand -hex 32`
  99. # Leave null or empty to avoid using encryption.
  100. # Changing this subsequently will make you lose your configuration.
  101. matrix_bot_baibot_config_persistence_config_encryption_key: null
  102. # Controls the `agents.static_definitions` configuration setting.
  103. #
  104. # There are some presets (e.g. `matrix_bot_baibot_config_agents_static_definitions_openai_*`) you can easily use to get started with a given provider.
  105. # You can also define your own agents via `matrix_bot_baibot_config_agents_static_definitions_custom`.
  106. matrix_bot_baibot_config_agents_static_definitions: "{{ matrix_bot_baibot_config_agents_static_definitions_auto + matrix_bot_baibot_config_agents_static_definitions_custom }}"
  107. matrix_bot_baibot_config_agents_static_definitions_auto: |-
  108. {{
  109. ([{
  110. 'id': matrix_bot_baibot_config_agents_static_definitions_anthropic_id,
  111. 'provider': matrix_bot_baibot_config_agents_static_definitions_anthropic_provider,
  112. 'config': matrix_bot_baibot_config_agents_static_definitions_anthropic_config,
  113. }] if matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled else [])
  114. +
  115. ([{
  116. 'id': matrix_bot_baibot_config_agents_static_definitions_groq_id,
  117. 'provider': matrix_bot_baibot_config_agents_static_definitions_groq_provider,
  118. 'config': matrix_bot_baibot_config_agents_static_definitions_groq_config,
  119. }] if matrix_bot_baibot_config_agents_static_definitions_groq_enabled else [])
  120. +
  121. ([{
  122. 'id': matrix_bot_baibot_config_agents_static_definitions_openai_id,
  123. 'provider': matrix_bot_baibot_config_agents_static_definitions_openai_provider,
  124. 'config': matrix_bot_baibot_config_agents_static_definitions_openai_config,
  125. }] if matrix_bot_baibot_config_agents_static_definitions_openai_enabled else [])
  126. }}
  127. matrix_bot_baibot_config_agents_static_definitions_custom: []
  128. ########################################################################################
  129. # #
  130. # Anthropic agent configuration #
  131. # #
  132. ########################################################################################
  133. matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled: false
  134. matrix_bot_baibot_config_agents_static_definitions_anthropic_id: anthropic
  135. matrix_bot_baibot_config_agents_static_definitions_anthropic_provider: anthropic
  136. matrix_bot_baibot_config_agents_static_definitions_anthropic_config: "{{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension, recursive=True)}}"
  137. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml: "{{ lookup('template', 'templates/provider/anthropic-config.yml.j2') }}"
  138. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension_yaml | from_yaml is mapping else {} }}"
  139. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension_yaml: |
  140. # Your custom YAML configuration for this provider's configuration goes here.
  141. # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_anthropic_config`).
  142. #
  143. # You can override individual variables from the default configuration, or introduce new ones.
  144. #
  145. # If you need something more special, you can take full control by
  146. # completely redefining `matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml`.
  147. #
  148. # Example configuration extension follows:
  149. #
  150. # text_generation:
  151. # temperature: 3.5
  152. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_base_url: https://api.anthropic.com/v1
  153. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key: ""
  154. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_enabled: true
  155. # For valid model choices, see: https://platform.anthropic.com/docs/models
  156. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: claude-3-5-sonnet-20240620
  157. # The prompt text to use (can be null or empty to not use a prompt).
  158. # See: https://huggingface.co/docs/transformers/en/tasks/prompting
  159. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_prompt: null
  160. # The temperature parameter controls the randomness of the generated text.
  161. # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
  162. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_temperature: 1.0
  163. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_response_tokens: 8192
  164. matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_context_tokens: 204800
  165. ########################################################################################
  166. # #
  167. # /Anthropic agent configuration #
  168. # #
  169. ########################################################################################
  170. ########################################################################################
  171. # #
  172. # Groq agent configuration #
  173. # #
  174. ########################################################################################
  175. matrix_bot_baibot_config_agents_static_definitions_groq_enabled: false
  176. matrix_bot_baibot_config_agents_static_definitions_groq_id: groq
  177. matrix_bot_baibot_config_agents_static_definitions_groq_provider: groq
  178. matrix_bot_baibot_config_agents_static_definitions_groq_config: "{{ matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_groq_config_extension, recursive=True)}}"
  179. matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml: "{{ lookup('template', 'templates/provider/groq-config.yml.j2') }}"
  180. matrix_bot_baibot_config_agents_static_definitions_groq_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_groq_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_groq_config_extension_yaml | from_yaml is mapping else {} }}"
  181. matrix_bot_baibot_config_agents_static_definitions_groq_config_extension_yaml: |
  182. # Your custom YAML configuration for this provider's configuration goes here.
  183. # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_groq_config`).
  184. #
  185. # You can override individual variables from the default configuration, or introduce new ones.
  186. #
  187. # If you need something more special, you can take full control by
  188. # completely redefining `matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml`.
  189. #
  190. # Example configuration extension follows:
  191. #
  192. # text_generation:
  193. # temperature: 3.5
  194. matrix_bot_baibot_config_agents_static_definitions_groq_config_base_url: https://api.groq.com/openai/v1
  195. matrix_bot_baibot_config_agents_static_definitions_groq_config_api_key: ""
  196. matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_enabled: true
  197. # For valid model choices, see: https://platform.groq.com/docs/models
  198. matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_model_id: ""
  199. # The prompt text to use (can be null or empty to not use a prompt).
  200. # See: https://huggingface.co/docs/transformers/en/tasks/prompting
  201. matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_prompt: null
  202. # The temperature parameter controls the randomness of the generated text.
  203. # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
  204. matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_temperature: 1.0
  205. matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_max_response_tokens: 4096
  206. matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_max_context_tokens: 131072
  207. matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_enabled: true
  208. matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_model_id: whisper-large-v3
  209. ########################################################################################
  210. # #
  211. # /Groq agent configuration #
  212. # #
  213. ########################################################################################
  214. ########################################################################################
  215. # #
  216. # OpenAI agent configuration #
  217. # #
  218. ########################################################################################
  219. matrix_bot_baibot_config_agents_static_definitions_openai_enabled: false
  220. matrix_bot_baibot_config_agents_static_definitions_openai_id: openai
  221. matrix_bot_baibot_config_agents_static_definitions_openai_provider: openai
  222. matrix_bot_baibot_config_agents_static_definitions_openai_config: "{{ matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_openai_config_extension, recursive=True)}}"
  223. matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml: "{{ lookup('template', 'templates/provider/openai-config.yml.j2') }}"
  224. matrix_bot_baibot_config_agents_static_definitions_openai_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_openai_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_openai_config_extension_yaml | from_yaml is mapping else {} }}"
  225. matrix_bot_baibot_config_agents_static_definitions_openai_config_extension_yaml: |
  226. # Your custom YAML configuration for this provider's configuration goes here.
  227. # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_openai_config`).
  228. #
  229. # You can override individual variables from the default configuration, or introduce new ones.
  230. #
  231. # If you need something more special, you can take full control by
  232. # completely redefining `matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml`.
  233. #
  234. # Example configuration extension follows:
  235. #
  236. # text_generation:
  237. # temperature: 3.5
  238. matrix_bot_baibot_config_agents_static_definitions_openai_config_base_url: https://api.openai.com/v1
  239. # The API key is intentionally not required. Some OpenAI-compatible APIs do not require a key.
  240. matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: ""
  241. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
  242. # For valid model choices, see: https://platform.openai.com/docs/models
  243. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4o
  244. # The prompt text to use (can be null or empty to not use a prompt).
  245. # See: https://huggingface.co/docs/transformers/en/tasks/prompting
  246. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: null
  247. # The temperature parameter controls the randomness of the generated text.
  248. # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
  249. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_temperature: 1.0
  250. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: 16384
  251. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 128000
  252. matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled: true
  253. matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_model_id: whisper-1
  254. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_enabled: true
  255. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_model_id: tts-1-hd
  256. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_voice: onyx
  257. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_speed: 1.0
  258. matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_response_format: opus
  259. matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_enabled: true
  260. matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id: dall-e-3
  261. matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style: vivid
  262. matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size: 1024x1024
  263. ########################################################################################
  264. # #
  265. # /OpenAI agent configuration #
  266. # #
  267. ########################################################################################
  268. # Controls the `initial_global_config.handler.catch_all` configuration setting.
  269. #
  270. # This is an initial global configuration setting.
  271. # It only affects the first run of the bot. Configuration is later managed at runtime.
  272. matrix_bot_baibot_config_initial_global_config_handler_catch_all: null
  273. # Controls the `initial_global_config.handler.text_generation` configuration setting.
  274. #
  275. # This is an initial global configuration setting.
  276. # It only affects the first run of the bot. Configuration is later managed at runtime.
  277. matrix_bot_baibot_config_initial_global_config_handler_text_generation: null
  278. # Controls the `initial_global_config.handler.text_to_speech` configuration setting.
  279. #
  280. # This is an initial global configuration setting.
  281. # It only affects the first run of the bot. Configuration is later managed at runtime.
  282. matrix_bot_baibot_config_initial_global_config_handler_text_to_speech: null
  283. # Controls the `initial_global_config.handler.speech_to_text` configuration setting.
  284. #
  285. # This is an initial global configuration setting.
  286. # It only affects the first run of the bot. Configuration is later managed at runtime.
  287. matrix_bot_baibot_config_initial_global_config_handler_speech_to_text: null
  288. # Controls the `initial_global_config.handler.image_generation` configuration setting.
  289. #
  290. # This is an initial global configuration setting.
  291. # It only affects the first run of the bot. Configuration is later managed at runtime.
  292. matrix_bot_baibot_config_initial_global_config_handler_image_generation: null
  293. # Controls the `initial_global_config.user_patterns` configuration setting.
  294. #
  295. # A space-separated list of MXID patterns which specify who can use the bot.
  296. # By default, we let anyone on the homeserver use the bot.
  297. #
  298. # This is an initial global configuration setting.
  299. # It only affects the first run of the bot. Configuration is later managed at runtime.
  300. matrix_bot_baibot_config_initial_global_config_user_patterns:
  301. - "@*:{{ matrix_bot_baibot_config_homeserver_server_name }}"
  302. # Controls the `logging` configuration setting.
  303. #
  304. # This could take a single value (e.g. `warn`) to affect all tracing targets,
  305. # or individual libraries (e.g. `mxlink`, `baibot`) can be configured independently of the main level.
  306. #
  307. # Below, we configure the logging level for:
  308. # - the bot (baibot), via `matrix_bot_baibot_config_logging_level_baibot`
  309. # - the bot framework that the bot is based on (mxlink), via `matrix_bot_baibot_config_logging_level_mxlink`
  310. # - everything else (external libraries), via `matrix_bot_baibot_config_logging_level_other_libs`
  311. #
  312. # Valid values for each level are: `trace`, `debug`, `info`, `warn`, `error`.
  313. # Learn more here: https://stackoverflow.com/a/73735203
  314. matrix_bot_baibot_config_logging: "{{ matrix_bot_baibot_config_logging_level_other_libs }},mxlink={{ matrix_bot_baibot_config_logging_level_mxlink }},baibot={{ matrix_bot_baibot_config_logging_level_baibot }}"
  315. # Adjust the logging level for other libraries used by the bot.
  316. matrix_bot_baibot_config_logging_level_other_libs: warn
  317. # Affects the logging level of the bot framework (mxlink) that the bot is based on.
  318. # Related to `matrix_bot_baibot_config_logging`
  319. matrix_bot_baibot_config_logging_level_mxlink: info
  320. # Affects the logging level of the bot itself.
  321. # Related to `matrix_bot_baibot_config_logging`
  322. matrix_bot_baibot_config_logging_level_baibot: info
  323. # Holds the final baibot configuration (a combination of the default and its extension).
  324. # You most likely don't need to touch this variable. Instead, see `matrix_bot_baibot_configuration_yaml` or `matrix_bot_baibot_configuration_extension_yaml`.
  325. matrix_bot_baibot_configuration: "{{ matrix_bot_baibot_configuration_yaml | from_yaml | combine(matrix_bot_baibot_configuration_extension, recursive=True) }}"
  326. # Default baibot configuration template which covers the generic use case.
  327. # You can customize it by controlling the various variables inside it.
  328. #
  329. # For a more advanced customization, you can extend the default (see `matrix_bot_baibot_configuration_extension_yaml`)
  330. # or completely replace this variable with your own template.
  331. matrix_bot_baibot_configuration_yaml: "{{ lookup('template', 'templates/config.yml.j2') }}"
  332. matrix_bot_baibot_configuration_extension_yaml: |
  333. # Your custom YAML configuration for baibot goes here.
  334. # This configuration extends the default starting configuration (`matrix_bot_baibot_configuration_yaml`).
  335. #
  336. # You can override individual variables from the default configuration, or introduce new ones.
  337. #
  338. # If you need something more special, you can take full control by
  339. # completely redefining `matrix_bot_baibot_configuration_yaml`.
  340. #
  341. # Example configuration extension follows:
  342. #
  343. # user:
  344. # password: something
  345. matrix_bot_baibot_configuration_extension: "{{ matrix_bot_baibot_configuration_extension_yaml | from_yaml if matrix_bot_baibot_configuration_extension_yaml | from_yaml is mapping else {} }}"
  346. # Additional environment variables to pass to the baibot container.
  347. #
  348. # Environment variables take priority over settings in the configuration file.
  349. #
  350. # Example:
  351. # matrix_bot_baibot_environment_variables_extension: |
  352. # BAIBOT_USER_PASSWORD=password
  353. matrix_bot_baibot_environment_variables_extension: ''