mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-11-04 09:08:56 +01:00 
			
		
		
		
	This paves the way for installing other roles into `roles/galaxy` using `ansible-galaxy`, similar to how it's done in: - https://github.com/spantaleev/gitea-docker-ansible-deploy - https://github.com/spantaleev/nextcloud-docker-ansible-deploy In the near future, we'll be removing a lot of the shared role code from here and using upstream roles for it. Some of the core `matrix-*` roles have already been extracted out into other reusable roles: - https://github.com/devture/com.devture.ansible.role.postgres - https://github.com/devture/com.devture.ansible.role.systemd_docker_base - https://github.com/devture/com.devture.ansible.role.timesync - https://github.com/devture/com.devture.ansible.role.vars_preserver - https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages - https://github.com/devture/com.devture.ansible.role.playbook_help We just need to migrate to those.
		
			
				
	
	
		
			111 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			4.3 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: {{ matrix_bot_maubot_database_uri|to_json }}
 | 
						|
 | 
						|
# Separate database URL for the crypto database. "default" means use the same database as above.
 | 
						|
crypto_database:
 | 
						|
  type: 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:
 | 
						|
  # Some plugins still require sqlite, so configure a path here.
 | 
						|
  # postgres will be used if supported.
 | 
						|
  sqlite: /data/dbs
 | 
						|
  postgres: default
 | 
						|
 | 
						|
server:
 | 
						|
    # The IP and port to listen to.
 | 
						|
    hostname: 0.0.0.0
 | 
						|
    port: {{ matrix_bot_maubot_management_interface_port|to_json }}
 | 
						|
    # Public base URL where the server is visible.
 | 
						|
    public_url: {{ matrix_bot_maubot_bot_server_public_url|to_json }}
 | 
						|
    # 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_unshared_secret|to_json }}
 | 
						|
 | 
						|
# 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: "https://{{ 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": ""} )|to_json }}
 | 
						|
 | 
						|
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: {{ matrix_bot_maubot_logging_level|to_json }}
 | 
						|
        mau:
 | 
						|
            level: {{ matrix_bot_maubot_logging_level|to_json }}
 | 
						|
        aiohttp:
 | 
						|
            level: {{ matrix_bot_maubot_logging_level|to_json }}
 | 
						|
    root:
 | 
						|
        level: {{ matrix_bot_maubot_logging_level|to_json }}
 | 
						|
        handlers: [console]
 |