Files
element-docker-demo/data-template/synapse/homeserver.yaml
2024-11-05 14:03:17 +00:00

114 lines
3.8 KiB
YAML

${CONFIG_HEADER}
# Configuration file for Synapse.
#
# This is a YAML file: see [1] for a quick introduction. Note in particular
# that *indentation is important*: all the elements of a list or dictionary
# should have the same indentation.
#
# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
#
# For more information on how to configure Synapse, including a complete accounting of
# each option, go to docs/usage/configuration/config_documentation.md or
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
server_name: ${DOMAIN}
pid_file: /data/homeserver.pid
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
resources:
- names: [client, federation]
compress: false
- port: 9093
tls: false
type: http
resources:
- names: [replication]
database:
name: psycopg2
args:
user: matrix
password: '${SECRETS_POSTGRES_PASSWORD}'
host: postgres
database: synapse
log_config: "/data/log.config"
media_store_path: /data/media_store
registration_shared_secret: '${SECRETS_SYNAPSE_REGISTRATION_SHARED_SECRET}'
report_stats: false
macaroon_secret_key: '${SECRETS_SYNAPSE_MACAROON_SECRET_KEY}'
form_secret: '${SECRETS_SYNAPSE_FORM_SECRET}'
signing_key_path: "/run/secrets/synapse_signing_key"
trusted_key_servers:
- server_name: "matrix.org"
# please keep config above this point as close as possible to the original generated config
# so that upstream generated config changes can be detected
suppress_key_server_warning: true
send_federation: false
federation_sender_instances:
- synapse-federation-sender-1
instance_map:
main:
host: 'synapse'
port: 9093
redis:
enabled: true
host: redis
port: 6379
# as we want our first launch and subsequent upgrades to go as fast
# as possible don't sleep between background updates
background_updates:
sleep_enabled: false
email:
smtp_host: mailhog
smtp_port: 1025
enable_tls: false
notif_from: "Your %(app)s homeserver <${MAIL_NOTIF_FROM_ADDRESS}>"
app_name: Matrix
enable_notifs: true
notif_for_new_users: false
client_base_url: https://${ELEMENT_WEB_FQDN}
validation_token_lifetime: 15m
invite_client_location: https://${ELEMENT_WEB_FQDN}
subjects:
message_from_person_in_room: "[%(app)s] You have a message on %(app)s from %(person)s in the %(room)s room..."
message_from_person: "[%(app)s] You have a message on %(app)s from %(person)s..."
messages_from_person: "[%(app)s] You have messages on %(app)s from %(person)s..."
messages_in_room: "[%(app)s] You have messages on %(app)s in the %(room)s room..."
messages_in_room_and_others: "[%(app)s] You have messages on %(app)s in the %(room)s room and others..."
messages_from_person_and_others: "[%(app)s] You have messages on %(app)s from %(person)s and others..."
invite_from_person_to_room: "[%(app)s] %(person)s has invited you to join the %(room)s room on %(app)s..."
invite_from_person: "[%(app)s] %(person)s has invited you to chat on %(app)s..."
password_reset: "[%(server_name)s] Password reset"
email_validation: "[%(server_name)s] Validate your email"
experimental_features:
msc3861: # OIDC
enabled: true
issuer: https://${DOMAIN}/
client_id: ${MAS_CLIENT_ID}
client_auth_method: client_secret_basic
client_secret: '${SECRETS_MAS_CLIENT_SECRET}'
admin_token: '${SECRETS_MAS_MATRIX_SECRET}'
account_management_url: "https://${MAS_FQDN}/account"
# MSC3266: Room summary API. Used for knocking over federation
msc3266_enabled: true
# The maximum allowed duration by which sent events can be delayed, as
# per MSC4140. Must be a positive value if set. Defaults to no
# duration (null), which disallows sending delayed events.
# Needed for MatrixRTC
max_event_delay_duration: 24h
# vim:ft=yaml