mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-10-21 05:44:16 +00:00
Containers are created with `--rm`, so Docker removes them asynchronously after they stop. The pre-start `docker rm` returns immediately while that removal is still in progress (its error is suppressed), and the following `docker create --name` can fail with "The container name ... is already in use". This is easy to hit since systemd_service_manager switched its default restart mode to `all-at-once`: many containers stop and start at the same time and Docker falls behind on removals. The playbook then fails at "Restart systemd services needing restart at once", even though the services recover on their own (`Restart=always`) a little later. The external roles (MASH, devture) were hardened against this in 2026-03 (see mother-of-all-self-hosting/ansible-role-valkey@0ba79c0), but the roles in `roles/custom` never were. This ports the same bounded cleanup loop to them: stop, force-remove, and wait until Docker releases the name, failing explicitly after a timeout. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
760 lines
48 KiB
YAML
760 lines
48 KiB
YAML
# SPDX-FileCopyrightText: 2024 Nikita Chernyi
|
|
# SPDX-FileCopyrightText: 2024 Slavi Pantaleev
|
|
# SPDX-FileCopyrightText: 2024 Suguru Hirahara
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
---
|
|
|
|
# baibot is a bot exposing the power of Large Language Models to you.
|
|
# Project source code URL: https://github.com/etkecc/baibot
|
|
|
|
matrix_bot_baibot_enabled: true
|
|
|
|
matrix_bot_baibot_container_image_self_build: false
|
|
matrix_bot_baibot_container_repo: "https://github.com/etkecc/baibot.git"
|
|
matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_version == 'latest' else matrix_bot_baibot_version }}"
|
|
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
|
|
|
|
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
|
|
matrix_bot_baibot_version: v1.28.0
|
|
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
|
|
matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}"
|
|
matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
|
|
matrix_bot_baibot_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
|
|
|
matrix_bot_baibot_base_path: "{{ matrix_base_data_path }}/baibot"
|
|
matrix_bot_baibot_config_path: "{{ matrix_bot_baibot_base_path }}/config"
|
|
matrix_bot_baibot_data_path: "{{ matrix_bot_baibot_base_path }}/data"
|
|
|
|
matrix_bot_baibot_container_network: ""
|
|
|
|
matrix_bot_baibot_container_additional_networks: "{{ matrix_bot_baibot_container_additional_networks_auto + matrix_bot_baibot_container_additional_networks_custom }}"
|
|
matrix_bot_baibot_container_additional_networks_auto: []
|
|
matrix_bot_baibot_container_additional_networks_custom: []
|
|
|
|
# A list of extra arguments to pass to the container
|
|
matrix_bot_baibot_container_extra_arguments: []
|
|
|
|
# Controls how long the pre-start cleanup should wait for stale container-name release
|
|
# before failing startup explicitly.
|
|
matrix_bot_baibot_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
|
|
|
|
# Controls the delay between pre-start cleanup retries.
|
|
matrix_bot_baibot_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
|
|
|
|
# Shell command used in the systemd pre-start phase to deterministically remove a stale
|
|
# container and wait until Docker releases its name.
|
|
matrix_bot_baibot_container_cleanup_command: |
|
|
i=0;
|
|
while [ "$i" -lt {{ matrix_bot_baibot_container_cleanup_timeout_seconds }} ]; do
|
|
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-baibot >/dev/null 2>&1 || true;
|
|
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-baibot >/dev/null 2>&1 || true;
|
|
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-baibot >/dev/null 2>&1; then
|
|
i=$((i + 1));
|
|
sleep {{ matrix_bot_baibot_container_cleanup_retry_delay_seconds }};
|
|
continue;
|
|
fi;
|
|
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
|
|
exit 0;
|
|
fi;
|
|
echo "Failed to query Docker daemon while cleaning up matrix-bot-baibot" >&2;
|
|
exit 1;
|
|
done;
|
|
echo "Failed to remove stale container matrix-bot-baibot after {{ matrix_bot_baibot_container_cleanup_timeout_seconds }} attempts" >&2;
|
|
exit 1
|
|
|
|
# List of systemd services that matrix-bot-baibot.service depends on
|
|
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 }}"
|
|
matrix_bot_baibot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
|
|
matrix_bot_baibot_systemd_required_services_list_auto: []
|
|
matrix_bot_baibot_systemd_required_services_list_custom: []
|
|
|
|
# List of systemd services that matrix-bot-baibot.service wants
|
|
matrix_bot_baibot_systemd_wanted_services_list: []
|
|
|
|
# Controls the `homeserver.server_name` configuration setting.
|
|
matrix_bot_baibot_config_homeserver_server_name: "{{ matrix_domain }}"
|
|
|
|
# Controls the `homeserver.url` configuration setting.
|
|
matrix_bot_baibot_config_homeserver_url: ""
|
|
|
|
# Controls the `user.mxid_localpart` configuration setting.
|
|
#
|
|
# This affects the bot's username.
|
|
# Changing this subsequently will require you to drop the bot's session/database (see `matrix_bot_baibot_data_path`),
|
|
# so it can start fresh.
|
|
matrix_bot_baibot_config_user_mxid_localpart: baibot
|
|
|
|
# Authentication settings (`user.*` configuration keys).
|
|
#
|
|
# baibot supports 2 mutually-exclusive authentication modes.
|
|
# Set EITHER:
|
|
# - password authentication: `matrix_bot_baibot_config_user_password`
|
|
# OR:
|
|
# - access-token authentication: `matrix_bot_baibot_config_user_access_token` + `matrix_bot_baibot_config_user_device_id`
|
|
#
|
|
# Password authentication is recommended for most playbook-managed deployments,
|
|
# because it integrates with the `matrix-user-creator` role and can auto-create
|
|
# the bot account (via the `ensure-matrix-users-created` playbook tag).
|
|
# This remains true even on many MAS-enabled deployments where the bot account
|
|
# is local and playbook-managed.
|
|
|
|
# Controls the `user.password` configuration setting.
|
|
matrix_bot_baibot_config_user_password: null
|
|
|
|
# Controls the `user.access_token` configuration setting.
|
|
matrix_bot_baibot_config_user_access_token: null
|
|
|
|
# Controls the `user.device_id` configuration setting.
|
|
matrix_bot_baibot_config_user_device_id: null
|
|
|
|
# Controls the `user.name` configuration setting.
|
|
#
|
|
# The name the bot uses as a display name and when it refers to itself.
|
|
# If you leave this empty, the bot will use the default (baibot).
|
|
#
|
|
# Also see: `matrix_bot_baibot_config_user_mxid_localpart`
|
|
matrix_bot_baibot_config_user_name: baibot
|
|
|
|
# Controls the `user.avatar` configuration setting.
|
|
#
|
|
# An optional path to an image file to be used as a custom avatar image.
|
|
# This path should be an in-container path (e.g., `/data/avatar.png`).
|
|
# Any type of content type is supported, but stick to common image formats (PNG, JPG, ..) for better compatibility with various Matrix clients.
|
|
#
|
|
# To use a custom avatar:
|
|
# - Use the auxiliary role (`aux_` variables) to upload your avatar file to the server (e.g. to {{ matrix_bot_baibot_data_path }}/avatar.png on the host),
|
|
# or do it any other way (without Ansible) you prefer
|
|
# - Set this variable to something like `/data/avatar.png` (the in-container path)
|
|
#
|
|
# Possible values:
|
|
# - null or empty string: use the default baibot avatar
|
|
# - "keep": don't touch the avatar, keep whatever is already set (useful if you manage the avatar via other means)
|
|
# - any other value: path to a custom avatar image file (must be an in-container path like `/data/avatar.png`)
|
|
matrix_bot_baibot_config_user_avatar: null
|
|
|
|
# Controls the `user.encryption.recovery_passphrase` configuration setting.
|
|
#
|
|
# An optional passphrase to use for backing up and recovering the bot's encryption keys.
|
|
# You can use any string here.
|
|
#
|
|
# If left empty, the recovery module will not be used and losing your session/database (see persistence)
|
|
# will mean you lose access to old messages in encrypted room.
|
|
#
|
|
# Changing this subsequently will also cause you to lose access to old messages in encrypted rooms.
|
|
# If you really need to change this:
|
|
# - Set `matrix_bot_baibot_config_user_encryption_recovery_reset_allowed` to `true` and adjust the passphrase
|
|
# - Remove your session file and database (see persistence)
|
|
# - Restart the bot
|
|
# - Then restore `matrix_bot_baibot_config_user_encryption_recovery_reset_allowed` to `false` to prevent accidental resets in the future
|
|
matrix_bot_baibot_config_user_encryption_recovery_passphrase: null
|
|
|
|
# Controls the `user.encryption.recovery_passphrase` configuration setting.
|
|
#
|
|
# An optional flag to reset the encryption recovery passphrase (see `matrix_bot_baibot_config_user_encryption_recovery_passphrase`).
|
|
matrix_bot_baibot_config_user_encryption_recovery_reset_allowed: false
|
|
|
|
# Controls the `command_prefix` configuration setting.
|
|
# If you leave this empty, the bot will use the default (!bai).
|
|
matrix_bot_baibot_config_command_prefix: "!bai"
|
|
|
|
# Controls the `room.post_join_self_introduction_enabled` configuration setting.
|
|
# Influences whether the bot should send an introduction message after joining a room.
|
|
matrix_bot_baibot_config_room_post_join_self_introduction_enabled: true
|
|
|
|
# Controls the `access.admin_patterns` configuration setting.
|
|
# A space-separated list of MXID patterns which specify who is an admin.
|
|
#
|
|
# Example:
|
|
# matrix_bot_baibot_config_access_admin_patterns:
|
|
# - "@*:example.com"
|
|
# - "@admin:example.net"
|
|
matrix_bot_baibot_config_access_admin_patterns: "{{ [matrix_admin] if matrix_admin else [] }}"
|
|
|
|
# Controls the `persistence.data_dir_path` configuration setting.
|
|
#
|
|
# The bot runs in a container, so this is the in-container path referring to the data directory on the host
|
|
# (see `matrix_bot_baibot_data_path`).
|
|
#
|
|
# You generally don't need to change this.
|
|
matrix_bot_baibot_config_persistence_data_dir_path: /data
|
|
|
|
# Controls the `persistence.session_encryption_key` configuration setting.
|
|
#
|
|
# An optional secret for encrypting the bot's session data (see `matrix_bot_baibot_data_path`).
|
|
# This must be 32-bytes (64 characters when HEX-encoded).
|
|
# Generate it with: `openssl rand -hex 32`
|
|
# Leave null or empty to avoid using encryption.
|
|
# Changing this subsequently requires that you also throw away all data (see `matrix_bot_baibot_data_path`)
|
|
matrix_bot_baibot_config_persistence_session_encryption_key: null
|
|
|
|
# Controls the `persistence.config_encryption_key` configuration setting.
|
|
#
|
|
# An optional secret for encrypting bot configuration stored in Matrix's account data.
|
|
# This must be 32-bytes (64 characters when HEX-encoded).
|
|
# Generate it with: `openssl rand -hex 32`
|
|
# Leave null or empty to avoid using encryption.
|
|
# Changing this subsequently will make you lose your configuration.
|
|
matrix_bot_baibot_config_persistence_config_encryption_key: null
|
|
|
|
# Controls the `agents.static_definitions` configuration setting.
|
|
#
|
|
# 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.
|
|
# You can also define your own agents via `matrix_bot_baibot_config_agents_static_definitions_custom`.
|
|
matrix_bot_baibot_config_agents_static_definitions: "{{ matrix_bot_baibot_config_agents_static_definitions_auto + matrix_bot_baibot_config_agents_static_definitions_custom }}"
|
|
matrix_bot_baibot_config_agents_static_definitions_auto: |-
|
|
{{
|
|
([{
|
|
'id': matrix_bot_baibot_config_agents_static_definitions_anthropic_id,
|
|
'provider': matrix_bot_baibot_config_agents_static_definitions_anthropic_provider,
|
|
'config': matrix_bot_baibot_config_agents_static_definitions_anthropic_config,
|
|
}] if matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled else [])
|
|
+
|
|
([{
|
|
'id': matrix_bot_baibot_config_agents_static_definitions_groq_id,
|
|
'provider': matrix_bot_baibot_config_agents_static_definitions_groq_provider,
|
|
'config': matrix_bot_baibot_config_agents_static_definitions_groq_config,
|
|
}] if matrix_bot_baibot_config_agents_static_definitions_groq_enabled else [])
|
|
+
|
|
([{
|
|
'id': matrix_bot_baibot_config_agents_static_definitions_mistral_id,
|
|
'provider': matrix_bot_baibot_config_agents_static_definitions_mistral_provider,
|
|
'config': matrix_bot_baibot_config_agents_static_definitions_mistral_config,
|
|
}] if matrix_bot_baibot_config_agents_static_definitions_mistral_enabled else [])
|
|
+
|
|
([{
|
|
'id': matrix_bot_baibot_config_agents_static_definitions_openai_id,
|
|
'provider': matrix_bot_baibot_config_agents_static_definitions_openai_provider,
|
|
'config': matrix_bot_baibot_config_agents_static_definitions_openai_config,
|
|
}] if matrix_bot_baibot_config_agents_static_definitions_openai_enabled else [])
|
|
+
|
|
([{
|
|
'id': matrix_bot_baibot_config_agents_static_definitions_venice_id,
|
|
'provider': matrix_bot_baibot_config_agents_static_definitions_venice_provider,
|
|
'config': matrix_bot_baibot_config_agents_static_definitions_venice_config,
|
|
}] if matrix_bot_baibot_config_agents_static_definitions_venice_enabled else [])
|
|
}}
|
|
matrix_bot_baibot_config_agents_static_definitions_custom: []
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_prompt: "{% raw %}You are a brief, but helpful bot called {{ baibot_name }} powered by the {{ baibot_model_id }} model. The date/time of this conversation's start is: {{ baibot_conversation_start_time_utc }}.{% endraw %}"
|
|
|
|
########################################################################################
|
|
# #
|
|
# Anthropic agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled: false
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_id: anthropic
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_provider: anthropic
|
|
|
|
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) }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml: "{{ lookup('template', 'templates/provider/anthropic-config.yml.j2') }}"
|
|
|
|
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 {} }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension_yaml: |
|
|
# Your custom YAML configuration for this provider's configuration goes here.
|
|
# This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_anthropic_config`).
|
|
#
|
|
# You can override individual variables from the default configuration, or introduce new ones.
|
|
#
|
|
# If you need something more special, you can take full control by
|
|
# completely redefining `matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml`.
|
|
#
|
|
# Example configuration extension follows:
|
|
#
|
|
# text_generation:
|
|
# temperature: 3.5
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_base_url: https://api.anthropic.com/v1
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key: ""
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_enabled: true
|
|
# For valid model choices, see: https://docs.claude.com/en/docs/about-claude/models/overview
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: claude-sonnet-4-5-20250929
|
|
# The prompt text to use (can be null or empty to not use a prompt).
|
|
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
|
# The temperature parameter controls the randomness of the generated text.
|
|
# See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_temperature: 1.0
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_response_tokens: 8192
|
|
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_context_tokens: 204800
|
|
|
|
########################################################################################
|
|
# #
|
|
# /Anthropic agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
|
|
########################################################################################
|
|
# #
|
|
# Groq agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_enabled: false
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_id: groq
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_provider: groq
|
|
|
|
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) }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml: "{{ lookup('template', 'templates/provider/groq-config.yml.j2') }}"
|
|
|
|
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 {} }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_extension_yaml: |
|
|
# Your custom YAML configuration for this provider's configuration goes here.
|
|
# This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_groq_config`).
|
|
#
|
|
# You can override individual variables from the default configuration, or introduce new ones.
|
|
#
|
|
# If you need something more special, you can take full control by
|
|
# completely redefining `matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml`.
|
|
#
|
|
# Example configuration extension follows:
|
|
#
|
|
# text_generation:
|
|
# temperature: 3.5
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_base_url: https://api.groq.com/openai/v1
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_api_key: ""
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_enabled: true
|
|
# For valid model choices, see: https://platform.groq.com/docs/models
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_model_id: ""
|
|
# The prompt text to use (can be null or empty to not use a prompt).
|
|
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
|
# The temperature parameter controls the randomness of the generated text.
|
|
# See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_temperature: 1.0
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_max_response_tokens: 4096
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_max_context_tokens: 131072
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_enabled: true
|
|
matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_model_id: whisper-large-v3
|
|
|
|
########################################################################################
|
|
# #
|
|
# /Groq agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
|
|
########################################################################################
|
|
# #
|
|
# Mistral agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_enabled: false
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_id: mistral
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_provider: mistral
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config: "{{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension, recursive=True) }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml: "{{ lookup('template', 'templates/provider/mistral-config.yml.j2') }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension_yaml | from_yaml is mapping else {} }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension_yaml: |
|
|
# Your custom YAML configuration for this provider's configuration goes here.
|
|
# This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_mistral_config`).
|
|
#
|
|
# You can override individual variables from the default configuration, or introduce new ones.
|
|
#
|
|
# If you need something more special, you can take full control by
|
|
# completely redefining `matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml`.
|
|
#
|
|
# Example configuration extension follows:
|
|
#
|
|
# text_generation:
|
|
# temperature: 3.5
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_base_url: https://api.mistral.ai/v1
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_api_key: ""
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_enabled: true
|
|
# For valid model choices, see: https://platform.mistral.com/docs/models
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_model_id: mistral-large-latest
|
|
# The prompt text to use (can be null or empty to not use a prompt).
|
|
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
|
# The temperature parameter controls the randomness of the generated text.
|
|
# See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_temperature: 1.0
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_max_response_tokens: 4096
|
|
matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_max_context_tokens: 128000
|
|
|
|
########################################################################################
|
|
# #
|
|
# /Mistral agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
|
|
########################################################################################
|
|
# #
|
|
# OpenAI agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_enabled: false
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_id: openai
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_provider: openai
|
|
|
|
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) }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml: "{{ lookup('template', 'templates/provider/openai-config.yml.j2') }}"
|
|
|
|
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 {} }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_extension_yaml: |
|
|
# Your custom YAML configuration for this provider's configuration goes here.
|
|
# This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_openai_config`).
|
|
#
|
|
# You can override individual variables from the default configuration, or introduce new ones.
|
|
#
|
|
# If you need something more special, you can take full control by
|
|
# completely redefining `matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml`.
|
|
#
|
|
# Example configuration extension follows:
|
|
#
|
|
# text_generation:
|
|
# temperature: 3.5
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_base_url: https://api.openai.com/v1
|
|
|
|
# Required when this provider is enabled.
|
|
# For OpenAI-compatible APIs that need no key, baibot has a separate `openai_compat` provider,
|
|
# which this role does not expose.
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: ""
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
|
|
# For valid model choices, see: https://platform.openai.com/docs/models
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-6.1-sol
|
|
# The prompt text to use (can be null or empty to not use a prompt).
|
|
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
|
# The temperature parameter controls the randomness of the generated text.
|
|
# See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_temperature: ~
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: ~
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens: 128000
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 400000
|
|
# Built-in tools configuration (OpenAI only).
|
|
# These tools extend the model's capabilities but are disabled by default following upstream defaults.
|
|
# See: https://github.com/etkecc/baibot/blob/main/docs/features.md#%EF%B8%8F-built-in-tools-openai-only
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_web_search: false
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_code_interpreter: false
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled: true
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_model_id: whisper-1
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_enabled: true
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_model_id: tts-1-hd
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_voice: onyx
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_speed: 1.0
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_response_format: opus
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_enabled: true
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id: gpt-image-2.5-sunburst
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style: null
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size: null
|
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality: null
|
|
|
|
########################################################################################
|
|
# #
|
|
# /OpenAI agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
|
|
########################################################################################
|
|
# #
|
|
# Venice agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_enabled: false
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_id: venice
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_provider: venice
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config: "{{ matrix_bot_baibot_config_agents_static_definitions_venice_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_venice_config_extension, recursive=True) }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_yaml: "{{ lookup('template', 'templates/provider/venice-config.yml.j2') }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_venice_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_venice_config_extension_yaml | from_yaml is mapping else {} }}"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_extension_yaml: |
|
|
# Your custom YAML configuration for this provider's configuration goes here.
|
|
# This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_venice_config`).
|
|
#
|
|
# You can override individual variables from the default configuration, or introduce new ones.
|
|
#
|
|
# If you need something more special, you can take full control by
|
|
# completely redefining `matrix_bot_baibot_config_agents_static_definitions_venice_config_yaml`.
|
|
#
|
|
# The fully-commented sample config (every Venice knob, with explanations) lives at:
|
|
# https://github.com/etkecc/baibot/blob/main/docs/sample-provider-configs/venice.yml
|
|
#
|
|
# Example configuration extension follows:
|
|
#
|
|
# text_generation:
|
|
# venice_parameters:
|
|
# enable_web_search: "off"
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_base_url: https://api.venice.ai/api/v1
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_api_key: ""
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_enabled: true
|
|
# For valid model choices, see: https://docs.venice.ai/models/overview
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_model_id: kimi-k2-5
|
|
# The prompt text to use (can be null or empty to not use a prompt).
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_temperature: 1.0
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_max_response_tokens: 4096
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_max_context_tokens: 128000
|
|
# How long Venice keeps the prompt prefix cached: "default", "extended", or "24h".
|
|
# "24h" makes a long, stable system prompt cheap across a day of conversations.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_prompt_cache_retention: 24h
|
|
# The optional top-level sampling and reasoning knobs below default to null, meaning the knob is
|
|
# omitted from the request and Venice applies its own server-side default. Set a value to override.
|
|
# Nucleus sampling, 0.0-1.0 (an alternative to temperature).
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_top_p: ~
|
|
# Penalize tokens by how often they have already appeared, -2.0-2.0.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_frequency_penalty: ~
|
|
# Penalize tokens that have appeared at all, -2.0-2.0.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_presence_penalty: ~
|
|
# Penalize repetition; values above 1.0 discourage repeats.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_repetition_penalty: ~
|
|
# Reasoning budget for models that support it: "low", "medium", or "high".
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_reasoning_effort: ~
|
|
# Append the model's reasoning below the answer as a collapsible "Reasoning" block (folded by default).
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_show_reasoning: ~
|
|
|
|
# Venice-specific request parameters (the `venice_parameters` bag). Each non-null knob below is sent;
|
|
# a null knob is omitted, so Venice applies its own default. Omitting a knob is NOT the same as
|
|
# setting it to `false` (which actively sends `false`).
|
|
# Web search: "auto" (model decides), "on" (always), or "off".
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_web_search: auto
|
|
# Strip <think></think> blocks from reasoning models so the user sees only the answer.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_strip_thinking_response: true
|
|
# Run in TEE-only mode (works across all models) instead of end-to-end-encrypted inference (only
|
|
# some models support it). TEE is still zero-retention private; this default keeps every model usable.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_e2ee: false
|
|
# Render web-search sources as readable citations in the reply.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_web_citations: ~
|
|
# Let web search read full page content, not just snippets.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_web_scraping: ~
|
|
# Prepend Venice's own system prompt alongside yours.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_include_venice_system_prompt: ~
|
|
# Include search results inline in the streamed response.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_include_search_results_in_stream: ~
|
|
# Return search results as documents rather than inline text.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_return_search_results_as_documents: ~
|
|
# Allow web search to query X (Twitter).
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_x_search: ~
|
|
# Disable the model's thinking phase entirely.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_disable_thinking: ~
|
|
# Response verbosity for models that support it: "low", "medium", or "high".
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_verbosity: ~
|
|
# Use a public Venice character by its slug.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_character_slug: ~
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_speech_to_text_enabled: true
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_speech_to_text_model_id: nvidia/parakeet-tdt-0.6b-v3
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_enabled: true
|
|
# Other models include tts-qwen3-1-7b, tts-xai-v1, tts-elevenlabs-turbo-v2-5, tts-minimax-speech-02-hd.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_model_id: tts-kokoro
|
|
# Voices are model-specific. Kokoro uses af_*/am_*/bf_*/bm_* (e.g. af_sky, am_adam). You can also pass
|
|
# a cloned-voice handle (vv_<id>). An incompatible voice returns an error.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_voice: af_sky
|
|
# Output audio format: mp3, opus, aac, flac, wav, or pcm. mp3 is the broadest Matrix-client fit.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_response_format: mp3
|
|
# The optional knobs below default to null (omitted). Set a value to override Venice's default.
|
|
# Playback speed, 0.25-4.0 (1.0 is normal).
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_speed: ~
|
|
# A style prompt steering emotion/delivery (e.g. "Excited and energetic."). Only Qwen 3 TTS uses it.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_prompt: ~
|
|
# Sampling temperature, 0.0-2.0. Only Qwen 3 / Orpheus / Chatterbox HD use it.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_temperature: ~
|
|
# Nucleus sampling, 0.0-1.0. Only Qwen 3 TTS uses it.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_top_p: ~
|
|
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_enabled: true
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_model_id: chroma
|
|
# The optional generation knobs below default to null (omitted). Set a value to override Venice's
|
|
# default. Omitting a knob is NOT the same as setting it: an omitted knob lets Venice apply its own
|
|
# default, a set value is sent verbatim.
|
|
# A description of what should NOT appear in the image.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_negative_prompt: ~
|
|
# CFG scale, 0-20. Higher values make the image adhere more closely to the prompt.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_cfg_scale: ~
|
|
# Number of inference steps. Model-specific; some models ignore it.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_steps: ~
|
|
# A named style to apply (e.g. "3D Model"). See Venice's image-styles reference.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_style_preset: ~
|
|
# Random seed, -999999999-999999999. Fix it for reproducible results; omit for a random seed.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_seed: ~
|
|
# Blur images classified as adult content. Defaults to true.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_safe_mode: ~
|
|
# Hide the Venice watermark. Venice may ignore this for certain generated content. Defaults to false.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_hide_watermark: ~
|
|
# Output format: jpeg, png, or webp. webp is smallest; png is highest-quality. Defaults to webp.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_format: ~
|
|
# Image dimensions in pixels, each 1-1280. Default 1024x1024.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_width: ~
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_height: ~
|
|
# Aspect ratio (used by certain models, e.g. Nano Banana): "1:1", "16:9". An alternative to width/height.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_aspect_ratio: ~
|
|
# Resolution tier (used by certain models): "1K", "2K", "4K".
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_resolution: ~
|
|
# Output quality for supported models (e.g. GPT Image 2): low, medium, high. Higher can cost more.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_quality: ~
|
|
# Lora strength, 0-100. Only applies if the model uses additional Loras.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_lora_strength: ~
|
|
# Embed the generation prompt into the image's EXIF metadata. Defaults to false.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_embed_exif_metadata: ~
|
|
# Let the model pull the latest info from the web for the image. Model-specific; costs extra credits.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_enable_web_search: ~
|
|
# Image editing shares this image_generation config block; only the model differs.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_model_id: firered-image-edit
|
|
# The optional edit knobs below default to null (omitted). Set a value to override Venice's default.
|
|
# Output format: jpeg, png, or webp. When omitted, Venice infers it (PNG at 1K, JPEG at 2K/4K).
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_output_format: ~
|
|
# Aspect ratio of the result: auto, 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4, 4:5 (model-specific).
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_aspect_ratio: ~
|
|
# Resolution tier: 1K, 2K, 4K (model-specific). Defaults to 1K.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_resolution: ~
|
|
# Blur images classified as adult content. Defaults to true.
|
|
matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_safe_mode: ~
|
|
|
|
########################################################################################
|
|
# #
|
|
# /Venice agent configuration #
|
|
# #
|
|
########################################################################################
|
|
|
|
|
|
# Controls the `initial_global_config.handler.catch_all` configuration setting.
|
|
#
|
|
# This is an initial global configuration setting.
|
|
# It only affects the first run of the bot. Configuration is later managed at runtime.
|
|
matrix_bot_baibot_config_initial_global_config_handler_catch_all: null
|
|
|
|
# Controls the `initial_global_config.handler.text_generation` configuration setting.
|
|
#
|
|
# This is an initial global configuration setting.
|
|
# It only affects the first run of the bot. Configuration is later managed at runtime.
|
|
matrix_bot_baibot_config_initial_global_config_handler_text_generation: null
|
|
|
|
# Controls the `initial_global_config.handler.text_to_speech` configuration setting.
|
|
#
|
|
# This is an initial global configuration setting.
|
|
# It only affects the first run of the bot. Configuration is later managed at runtime.
|
|
matrix_bot_baibot_config_initial_global_config_handler_text_to_speech: null
|
|
|
|
# Controls the `initial_global_config.handler.speech_to_text` configuration setting.
|
|
#
|
|
# This is an initial global configuration setting.
|
|
# It only affects the first run of the bot. Configuration is later managed at runtime.
|
|
matrix_bot_baibot_config_initial_global_config_handler_speech_to_text: null
|
|
|
|
# Controls the `initial_global_config.handler.image_generation` configuration setting.
|
|
#
|
|
# This is an initial global configuration setting.
|
|
# It only affects the first run of the bot. Configuration is later managed at runtime.
|
|
matrix_bot_baibot_config_initial_global_config_handler_image_generation: null
|
|
|
|
# Controls the `initial_global_config.user_patterns` configuration setting.
|
|
#
|
|
# A space-separated list of MXID patterns which specify who can use the bot.
|
|
# By default, we let anyone on the homeserver use the bot.
|
|
#
|
|
# This is an initial global configuration setting.
|
|
# It only affects the first run of the bot. Configuration is later managed at runtime.
|
|
matrix_bot_baibot_config_initial_global_config_user_patterns:
|
|
- "@*:{{ matrix_bot_baibot_config_homeserver_server_name }}"
|
|
|
|
# Controls the `logging` configuration setting.
|
|
#
|
|
# This could take a single value (e.g. `warn`) to affect all tracing targets,
|
|
# or individual libraries (e.g. `mxlink`, `baibot`) can be configured independently of the main level.
|
|
#
|
|
# Below, we configure the logging level for:
|
|
# - the bot (baibot), via `matrix_bot_baibot_config_logging_level_baibot`
|
|
# - the bot framework that the bot is based on (mxlink), via `matrix_bot_baibot_config_logging_level_mxlink`
|
|
# - everything else (external libraries), via `matrix_bot_baibot_config_logging_level_other_libs`
|
|
#
|
|
# Valid values for each level are: `trace`, `debug`, `info`, `warn`, `error`.
|
|
# Learn more here: https://stackoverflow.com/a/73735203
|
|
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 }}"
|
|
|
|
# Adjust the logging level for other libraries used by the bot.
|
|
matrix_bot_baibot_config_logging_level_other_libs: warn
|
|
|
|
# Affects the logging level of the bot framework (mxlink) that the bot is based on.
|
|
# Related to `matrix_bot_baibot_config_logging`
|
|
matrix_bot_baibot_config_logging_level_mxlink: info
|
|
|
|
# Affects the logging level of the bot itself.
|
|
# Related to `matrix_bot_baibot_config_logging`
|
|
matrix_bot_baibot_config_logging_level_baibot: info
|
|
|
|
# Holds the final baibot configuration (a combination of the default and its extension).
|
|
# You most likely don't need to touch this variable. Instead, see `matrix_bot_baibot_configuration_yaml` or `matrix_bot_baibot_configuration_extension_yaml`.
|
|
matrix_bot_baibot_configuration: "{{ matrix_bot_baibot_configuration_yaml | from_yaml | combine(matrix_bot_baibot_configuration_extension, recursive=True) }}"
|
|
|
|
# Default baibot configuration template which covers the generic use case.
|
|
# You can customize it by controlling the various variables inside it.
|
|
#
|
|
# For a more advanced customization, you can extend the default (see `matrix_bot_baibot_configuration_extension_yaml`)
|
|
# or completely replace this variable with your own template.
|
|
matrix_bot_baibot_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
|
|
|
|
matrix_bot_baibot_configuration_extension_yaml: |
|
|
# Your custom YAML configuration for baibot goes here.
|
|
# This configuration extends the default starting configuration (`matrix_bot_baibot_configuration_yaml`).
|
|
#
|
|
# You can override individual variables from the default configuration, or introduce new ones.
|
|
#
|
|
# If you need something more special, you can take full control by
|
|
# completely redefining `matrix_bot_baibot_configuration_yaml`.
|
|
#
|
|
# Example configuration extension follows:
|
|
#
|
|
# user:
|
|
# password: something
|
|
|
|
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 {} }}"
|
|
|
|
# Additional environment variables to pass to the baibot container.
|
|
#
|
|
# Environment variables take priority over settings in the configuration file.
|
|
#
|
|
# Example:
|
|
# matrix_bot_baibot_environment_variables_extension: |
|
|
# BAIBOT_USER_PASSWORD=password
|
|
matrix_bot_baibot_environment_variables_extension: ''
|
|
|
|
# matrix_bot_baibot_restart_necessary controls whether the service
|
|
# will be restarted (when true) or merely started (when false) by the
|
|
# systemd service manager role (when conditional restart is enabled).
|
|
#
|
|
# This value is automatically computed during installation based on whether
|
|
# any configuration files, the systemd service file, or the container image changed.
|
|
# The default of `false` means "no restart needed" — appropriate when the role's
|
|
# installation tasks haven't run (e.g., due to --tags skipping them).
|
|
matrix_bot_baibot_restart_necessary: false
|