# Sample configuration file explaining the minimum required keys to be set to run ma1sd # # For a complete list of options, see https://github.com/ma1uta/ma1sd/docs/README.md # # Please follow the Getting Started guide if this is your first time using/configuring ma1sd # # -- https://github.com/ma1uta/ma1sd/blob/master/docs/getting-started.md#getting-started # ####################### # Matrix config items # ####################### # Matrix domain, same as the domain configure in your Homeserver configuration. # NOTE: in Synapse Homeserver, the Matrix domain is defined as 'server_name' in configuration file. # # This is used to build the various identifiers in all the features. # # If the hostname of the public URL used to reach your Matrix services is different from your Matrix domain, # per example matrix.domain.tld vs domain.tld, then use the server.name configuration option. # See the "Configure" section of the Getting Started guide for more info. # matrix: domain: '' v1: false # deprecated v2: true # MSC2140 API v2. Riot require enabled V2 API. ################ # Signing keys # ################ # Absolute path for the Identity Server signing keys database. # /!\ THIS MUST **NOT** BE YOUR HOMESERVER KEYS FILE /!\ # If this path does not exist, it will be auto-generated. # # During testing, /var/tmp/mxids/keys is a possible value # For production, recommended location shall be one of the following: # - /var/lib/mxids/keys # - /var/opt/mxids/keys # - /var/local/mxids/keys # key: path: '' # Path to the SQLite DB file for ma1sd internal storage # /!\ THIS MUST **NOT** BE YOUR HOMESERVER DATABASE /!\ # # Examples: # - /var/opt/mxids/store.db # - /var/local/mxids/store.db # - /var/lib/mxids/store.db # storage: # backend: sqlite # or postgresql provider: sqlite: database: '/path/to/mxids.db' # postgresql: # # Wrap all string values with quotes to avoid yaml parsing mistakes # database: '//localhost/mxids' # or full variant //192.168.1.100:5432/mxids_database # username: 'mxids_user' # password: 'mxids_password' # # # Pool configuration for postgresql backend. # ####### # # Enable or disable pooling # pool: false # # ####### # # Check database connection before get from pool # testBeforeGetFromPool: false # or true # # ####### # # There is an internal thread which checks each of the database connections as a keep-alive mechanism. This set the # # number of milliseconds it sleeps between checks -- default is 30000. To disable the checking thread, set this to # # 0 before you start using the connection source. # checkConnectionsEveryMillis: 30000 # # ####### # # Set the number of connections that can be unused in the available list. # maxConnectionsFree: 5 # # ####### # # Set the number of milliseconds that a connection can stay open before being closed. Set to 9223372036854775807 to have # # the connections never expire. # maxConnectionAgeMillis: 3600000 ################### # Identity Stores # ################### # If you are using synapse standalone and do not have an Identity store, # see https://github.com/ma1uta/ma1sd/blob/master/docs/stores/synapse.md#synapse-identity-store # # If you would like to integrate with your AD/Samba/LDAP server, # see https://github.com/ma1uta/ma1sd/blob/master/docs/stores/ldap.md # # For any other Identity store, or to simply discover them, # see https://github.com/ma1uta/ma1sd/blob/master/docs/stores/README.md ################################################# # Notifications for invites/addition to profile # ################################################# # This is mandatory to deal with anything e-mail related. # # For an introduction to sessions, invites and 3PIDs in general, # see https://github.com/ma1uta/ma1sd/blob/master/docs/threepids/session/session.md#3pid-sessions # # If you would like to change the content of the notifications, # see https://github.com/ma1uta/ma1sd/blob/master/docs/threepids/notification/template-generator.md # #### E-mail connector threepid: medium: email: identity: # The e-mail to send as. from: "matrix-identity@example.org" connectors: smtp: # SMTP host host: "smtp.example.org" # TLS mode for the connection # Possible values: # 0 Disable any kind of TLS entirely # 1 Enable STARTLS if supported by server (default) # 2 Force STARTLS and fail if not available # 3 Use full TLS/SSL instead of STARTLS # tls: 1 # SMTP port # Be sure to adapt depending on your TLS choice, if changed from default port: 587 # Login for SMTP login: "matrix-identity@example.org" # Password for the account password: "ThePassword" #### MSC2134 (hash lookup) #hashing: # enabled: false # enable or disable the hash lookup MSC2140 (default is false) # pepperLength: 20 # length of the pepper value (default is 20) # rotationPolicy: per_requests # or `per_seconds` how often the hashes will be updating # hashStorageType: sql # or `in_memory` where the hashes will be stored # algorithms: # - none # the same as v1 bulk lookup # - sha256 # hash the 3PID and pepper. # delay: 2m # how often hashes will be updated if rotation policy = per_seconds (default is 10s) # requests: 10 # how many lookup requests will be performed before updating hashes if rotation policy = per_requests (default is 10) ### hash lookup for synapseSql provider. # synapseSql: # lookup: # query: 'select user_id as mxid, medium, address from user_threepid_id_server' # query for retrive 3PIDs for hashes. # legacyRoomNames: false # use the old query to get room names. ### hash lookup for ldap provider (with example of the ldap configuration) # ldap: # enabled: true # lookup: true # hash lookup # activeDirectory: false # defaultDomain: '' # connection: # host: 'ldap.domain.tld' # port: 389 # bindDn: 'cn=admin,dc=domain,dc=tld' # bindPassword: 'Secret' # baseDNs: # - 'dc=domain,dc=tld' # attribute: # uid: # type: 'uid' # or mxid # value: 'cn' # name: 'displayName' # identity: # filter: '(objectClass=inetOrgPerson)' #### MSC2140 (Terms) #policy: # policies: # term_name: # term name # version: 1.0 # version # terms: # en: # lang # name: term name en # localized name # url: https://mxids.host.tld/term_en.html # localized url # fe: # lang # name: term name fr # localized name # url: https://mxids.host.tld/term_fr.html # localized url # regexp: # - '/_matrix/identity/v2/account.*' # - '/_matrix/identity/v2/hash_details' # - '/_matrix/identity/v2/lookup' # # logging: # root: error # default level for all loggers (apps and thirdparty libraries) # app: info # log level only for the ma1sd # requests: false # or true to dump full requests and responses # Config invitation manager #invite: # fullDisplayName: true # print full name of the invited user (default false) # resolution: # timer: 10 # period: seconds # search invites every 10 seconds (by default 5 minutes) # Internal API #internal: # enabled: true # default to false