220 lines
7.3 KiB
YAML
220 lines
7.3 KiB
YAML
# 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: true # 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/ma1sd/keys is a possible value
|
|
# For production, recommended location shall be one of the following:
|
|
# - /var/lib/ma1sd/keys
|
|
# - /var/opt/ma1sd/keys
|
|
# - /var/local/ma1sd/keys
|
|
#
|
|
key:
|
|
path: ''
|
|
|
|
|
|
# Path to the SQLite DB file for ma1sd internal storage
|
|
# /!\ THIS MUST **NOT** BE YOUR HOMESERVER DATABASE /!\
|
|
#
|
|
# Examples:
|
|
# - /var/opt/ma1sd/store.db
|
|
# - /var/local/ma1sd/store.db
|
|
# - /var/lib/ma1sd/store.db
|
|
#
|
|
storage:
|
|
# backend: sqlite # or postgresql
|
|
provider:
|
|
sqlite:
|
|
database: '/path/to/ma1sd.db'
|
|
# postgresql:
|
|
# # Wrap all string values with quotes to avoid yaml parsing mistakes
|
|
# database: '//localhost/ma1sd' # or full variant //192.168.1.100:5432/ma1sd_database
|
|
# username: 'ma1sd_user'
|
|
# password: 'ma1sd_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://ma1sd.host.tld/term_en.html # localized url
|
|
# fe: # lang
|
|
# name: term name fr # localized name
|
|
# url: https://ma1sd.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
|