# The full URI to the database. SQLite and Postgres are fully supported. # Other DBMSes supported by SQLAlchemy may or may not work. # Format examples: # SQLite: sqlite:///filename.db # Postgres: postgres://username:password@hostname/dbname database: {{ matrix_bot_maubot_storage_database|to_json }} # Database for encryption data. crypto_database: # Type of database. Either "default", "pickle" or "postgres". # When set to default, using SQLite as the main database will use pickle as the crypto database # and using Postgres as the main database will use the same one as the crypto database. # # When using pickle, individual crypto databases are stored in the pickle_dir directory. # When using non-default postgres, postgres_uri is used to connect to postgres. # # WARNING: The pickle database is dangerous and should not be used in production. type: default postgres_uri: {{ matrix_bot_maubot_storage_database|to_json }} pickle_dir: {{ matrix_bot_maubot_container_data_dir }}/crypto plugin_directories: # The directory where uploaded new plugins should be stored. upload: {{ matrix_bot_maubot_container_data_dir }}/plugins # The directories from which plugins should be loaded. # Duplicate plugin IDs will be moved to the trash. load: - {{ matrix_bot_maubot_container_data_dir }}/plugins # The directory where old plugin versions and conflicting plugins should be moved. # Set to "delete" to delete files immediately. trash: {{ matrix_bot_maubot_container_data_dir }}/trash # The directory where plugin databases should be stored. db: {{ matrix_bot_maubot_container_data_dir }}/plugins server: # The IP and port to listen to. hostname: {{ matrix_bot_maubot_management_hostname }} port: {{ matrix_bot_maubot_management_port }} # The base management API path. base_path: /_matrix/maubot/v1 # The base path for the UI. ui_base_path: /_matrix/maubot # Override path from where to load UI resources. # Set to false to using pkg_resources to find the path. override_resource_path: /opt/maubot/frontend # The base appservice API path. Use / for legacy appservice API and /_matrix/app/v1 for v1. appservice_base_path: /_matrix/app/v1 # The shared secret to sign API access tokens. # Set to "generate" to generate and save a new token at startup. unshared_secret: generate {% if matrix_bot_maubot_shared_secret %} # Shared registration secrets to allow registering new users from the management UI registration_secrets: {{ matrix_domain }}: # Client-server API URL url: {{ matrix_bot_maubot_cs_url }} # registration_shared_secret from synapse config secret: {{ matrix_bot_maubot_registration_shared_secret }} {% endif %} # List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password # to prevent normal login. Root is a special user that can't have a password and will always exist. admins: {{ matrix_bot_maubot_admins | combine( {"root": ""} ) }} # API feature switches. api_features: login: true plugin: true plugin_upload: true instance: true instance_database: true client: true client_proxy: true client_auth: true dev_open: true log: true # Python logging configuration. # # See section 16.7.2 of the Python documentation for more info: # https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema logging: version: 1 formatters: precise: format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s" handlers: console: class: logging.StreamHandler formatter: precise loggers: maubot: level: DEBUG mautrix: level: DEBUG aiohttp: level: INFO root: level: DEBUG handlers: [console]