a295ec3e3d
This shall indicate that the public url of maubot is here configured the same as matrix_server_fqn_matrix but this must not be the case. In the config I used the matrix fqnd directly as this part of the config is directly bound to the homeserver we want to connect to (but can not use the internal)
124 lines
4.9 KiB
Django/Jinja
124 lines
4.9 KiB
Django/Jinja
# 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: postgresql://username:password@hostname/dbname
|
|
database: sqlite:////data/maubot.db
|
|
|
|
# Separate database URL for the crypto database. "default" means use the same database as above.
|
|
crypto_database: default
|
|
|
|
# Additional arguments for asyncpg.create_pool() or sqlite3.connect()
|
|
# https://magicstack.github.io/asyncpg/current/api/index.html#asyncpg.pool.create_pool
|
|
# https://docs.python.org/3/library/sqlite3.html#sqlite3.connect
|
|
# For sqlite, min_size is used as the connection thread pool size and max_size is ignored.
|
|
database_opts:
|
|
min_size: 1
|
|
max_size: 10
|
|
plugin_directories:
|
|
# The directory where uploaded new plugins should be stored.
|
|
upload: /data/plugins
|
|
# The directories from which plugins should be loaded.
|
|
# Duplicate plugin IDs will be moved to the trash.
|
|
load:
|
|
- /data/plugins
|
|
trash: /data/trash
|
|
|
|
# Configuration for storing plugin databases
|
|
plugin_databases:
|
|
# The directory where SQLite plugin databases should be stored.
|
|
sqlite: /data/dbs
|
|
# The connection URL for plugin databases. If null, all plugins will get SQLite databases.
|
|
# If set, plugins using the new asyncpg interface will get a Postgres connection instead.
|
|
# Plugins using the legacy SQLAlchemy interface will always get a SQLite connection.
|
|
#
|
|
# To use the same connection pool as the default database, set to "default"
|
|
# (the default database above must be postgres to do this).
|
|
#
|
|
# When enabled, maubot will create separate Postgres schemas in the database for each plugin.
|
|
# To view schemas in psql, use `\dn`. To view enter and interact with a specific schema,
|
|
# use `SET search_path = name` (where `name` is the name found with `\dn`) and then use normal
|
|
# SQL queries/psql commands.
|
|
postgres:
|
|
# Maximum number of connections per plugin instance.
|
|
postgres_max_conns_per_plugin: 3
|
|
# Overrides for the default database_opts when using a non-"default" postgres connection string.
|
|
postgres_opts: {}
|
|
|
|
server:
|
|
# The IP and port to listen to.
|
|
hostname: 0.0.0.0
|
|
port: 29316
|
|
# Public base URL where the server is visible.
|
|
public_url: {{ matrix_bot_maubot_bot_server_public }}
|
|
# The base management API path.
|
|
base_path: /_matrix/maubot/v1
|
|
# The base path for the UI.
|
|
ui_base_path: /_matrix/maubot
|
|
# The base path for plugin endpoints. The instance ID will be appended directly.
|
|
plugin_base_path: /_matrix/maubot/plugin/
|
|
# 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: {{ matrix_bot_maubot_secret }}
|
|
|
|
# Known homeservers. This is required for the `mbc auth` command and also allows
|
|
# more convenient access from the management UI. This is not required to create
|
|
# clients in the management UI, since you can also just type the homeserver URL
|
|
# into the box there.
|
|
homeservers:
|
|
{{ matrix_domain }}:
|
|
# Client-server API URL
|
|
url: {{ matrix_server_fqn_matrix }}
|
|
# registration_shared_secret from synapse config
|
|
# You can leave this empty if you don't have access to the homeserver.
|
|
# When this is empty, `mbc auth --register` won't work, but `mbc auth` (login) will.
|
|
secret: {{ matrix_bot_maubot_registration_shared_secret|to_json }}
|
|
|
|
# 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_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:
|
|
colored:
|
|
(): maubot.lib.color_log.ColorFormatter
|
|
format: '[%(asctime)s] [%(levelname)s@%(name)s] %(message)s'
|
|
normal:
|
|
format: '[%(asctime)s] [%(levelname)s@%(name)s] %(message)s'
|
|
handlers:
|
|
console:
|
|
class: logging.StreamHandler
|
|
formatter: colored
|
|
loggers:
|
|
maubot:
|
|
level: DEBUG
|
|
mau:
|
|
level: DEBUG
|
|
aiohttp:
|
|
level: INFO
|
|
root:
|
|
level: DEBUG
|
|
handlers: [console]
|