2017-07-05 14:10:28 +02:00
|
|
|
# The config file format version
|
|
|
|
# This is used by dendrite to tell if it understands the config format.
|
|
|
|
# This will change if the structure of the config file changes or if the meaning
|
|
|
|
# of an existing config key changes.
|
|
|
|
version: 0
|
|
|
|
|
|
|
|
# The matrix specific config
|
|
|
|
matrix:
|
|
|
|
# The name of the server. This is usually the domain name, e.g 'matrix.org', 'localhost'.
|
|
|
|
server_name: "example.com"
|
|
|
|
# The path to the PEM formatted matrix private key.
|
|
|
|
private_key: "/etc/dendrite/matrix_key.pem"
|
|
|
|
# The x509 certificates used by the federation listeners for this server
|
2017-10-10 17:04:39 +02:00
|
|
|
federation_certificates: ["/etc/dendrite/server.crt"]
|
2017-09-11 20:18:19 +02:00
|
|
|
# The list of identity servers trusted to verify third party identifiers by this server.
|
|
|
|
# Defaults to no trusted servers.
|
|
|
|
trusted_third_party_id_servers:
|
|
|
|
- vector.im
|
|
|
|
- matrix.org
|
2020-04-20 18:42:34 +02:00
|
|
|
# Perspective key servers which are used when direct key requests fail
|
|
|
|
#key_perspectives:
|
|
|
|
# - server_name: matrix.org
|
|
|
|
# keys:
|
|
|
|
# - key_id: ed25519:auto
|
|
|
|
# public_key: Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw
|
|
|
|
# - key_id: ed25519:a_RXGa
|
|
|
|
# public_key: l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ
|
2020-05-08 13:00:32 +02:00
|
|
|
# Disables new users from registering (except via shared secrets)
|
|
|
|
registration_disabled: false
|
2017-07-05 14:10:28 +02:00
|
|
|
|
|
|
|
# The media repository config
|
|
|
|
media:
|
|
|
|
# The base path to where the media files will be stored. May be relative or absolute.
|
|
|
|
base_path: /var/dendrite/media
|
|
|
|
|
|
|
|
# The maximum file size in bytes that is allowed to be stored on this server.
|
|
|
|
# Note: if max_file_size_bytes is set to 0, the size is unlimited.
|
|
|
|
# Note: if max_file_size_bytes is not set, it will default to 10485760 (10MB)
|
|
|
|
max_file_size_bytes: 10485760
|
|
|
|
|
|
|
|
# Whether to dynamically generate thumbnails on-the-fly if the requested resolution is not already generated
|
|
|
|
# NOTE: This is a possible denial-of-service attack vector - use at your own risk
|
|
|
|
dynamic_thumbnails: false
|
|
|
|
|
|
|
|
# A list of thumbnail sizes to be pre-generated for downloaded remote / uploaded content
|
|
|
|
# method is one of crop or scale. If omitted, it will default to scale.
|
|
|
|
# crop scales to fill the requested dimensions and crops the excess.
|
|
|
|
# scale scales to fit the requested dimensions and one dimension may be smaller than requested.
|
|
|
|
thumbnail_sizes:
|
|
|
|
- width: 32
|
|
|
|
height: 32
|
|
|
|
method: crop
|
|
|
|
- width: 96
|
|
|
|
height: 96
|
|
|
|
method: crop
|
|
|
|
- width: 320
|
|
|
|
height: 240
|
|
|
|
method: scale
|
|
|
|
- width: 640
|
|
|
|
height: 480
|
|
|
|
method: scale
|
|
|
|
- width: 800
|
|
|
|
height: 600
|
|
|
|
method: scale
|
|
|
|
|
2020-04-14 16:54:35 +02:00
|
|
|
# Metrics config for Prometheus
|
|
|
|
metrics:
|
|
|
|
# Whether or not metrics are enabled
|
|
|
|
enabled: false
|
|
|
|
# Use basic auth to protect the metrics. Uncomment to the complete block to enable.
|
|
|
|
#basic_auth:
|
|
|
|
# username: prometheusUser
|
|
|
|
# password: y0ursecr3tPa$$w0rd
|
|
|
|
|
2017-11-09 10:58:45 +01:00
|
|
|
# The config for the TURN server
|
|
|
|
turn:
|
|
|
|
# Whether or not guests can request TURN credentials
|
|
|
|
turn_allow_guests: true
|
|
|
|
# How long the authorization should last
|
|
|
|
turn_user_lifetime: "1h"
|
|
|
|
# The list of TURN URIs to pass to clients
|
|
|
|
turn_uris: []
|
|
|
|
|
|
|
|
# Authorization via Shared Secret
|
|
|
|
# The shared secret from coturn
|
|
|
|
turn_shared_secret: "<SECRET STRING GOES HERE>"
|
|
|
|
|
|
|
|
# Authorization via Static Username & Password
|
|
|
|
# Hardcoded Username and Password
|
|
|
|
turn_username: ""
|
|
|
|
turn_password: ""
|
|
|
|
|
2017-07-05 14:10:28 +02:00
|
|
|
# The config for communicating with kafka
|
|
|
|
kafka:
|
|
|
|
# Where the kafka servers are running.
|
|
|
|
addresses: ["localhost:9092"]
|
2017-08-16 14:36:41 +02:00
|
|
|
# Whether to use naffka instead of kafka.
|
|
|
|
# Naffka can only be used when running dendrite as a single monolithic server.
|
|
|
|
# Kafka can be used both with a monolithic server and when running the
|
|
|
|
# components as separate servers.
|
2017-11-22 16:46:49 +01:00
|
|
|
# If enabled database.naffka must also be specified.
|
2017-08-16 14:36:41 +02:00
|
|
|
use_naffka: false
|
2017-07-05 14:10:28 +02:00
|
|
|
# The names of the kafka topics to use.
|
|
|
|
topics:
|
|
|
|
output_room_event: roomserverOutput
|
2017-08-02 17:21:35 +02:00
|
|
|
output_client_data: clientapiOutput
|
Send-to-device support (#1072)
* Groundwork for send-to-device messaging
* Update sample config
* Add unstable routing for now
* Send to device consumer in sync API
* Start the send-to-device consumer
* fix indentation in dendrite-config.yaml
* Create send-to-device database tables, other tweaks
* Add some logic for send-to-device messages, add them into sync stream
* Handle incoming send-to-device messages, count them with EDU stream pos
* Undo changes to test
* pq.Array
* Fix sync
* Logging
* Fix a couple of transaction things, fix client API
* Add send-to-device test, hopefully fix bugs
* Comments
* Refactor a bit
* Fix schema
* Fix queries
* Debug logging
* Fix storing and retrieving of send-to-device messages
* Try to avoid database locks
* Update sync position
* Use latest sync position
* Jiggle about sync a bit
* Fix tests
* Break out the retrieval from the update/delete behaviour
* Comments
* nolint on getResponseWithPDUsForCompleteSync
* Try to line up sync tokens again
* Implement wildcard
* Add all send-to-device tests to whitelist, what could possibly go wrong?
* Only care about wildcard when targeted locally
* Deduplicate transactions
* Handle tokens properly, return immediately if waiting send-to-device messages
* Fix sync
* Update sytest-whitelist
* Fix copyright notice (need to do more of this)
* Comments, copyrights
* Return errors from Do, fix dendritejs
* Review comments
* Comments
* Constructor for TransactionWriter
* defletions
* Update gomatrixserverlib, sytest-blacklist
2020-06-01 18:50:19 +02:00
|
|
|
output_typing_event: eduServerTypingOutput
|
|
|
|
output_send_to_device_event: eduServerSendToDeviceOutput
|
2017-07-11 15:14:06 +02:00
|
|
|
user_updates: userUpdates
|
2017-07-05 14:10:28 +02:00
|
|
|
|
2020-06-19 10:37:19 +02:00
|
|
|
# The postgres connection configs for connecting to the databases, e.g.
|
|
|
|
# for Postgres: postgres://username:password@hostname/database
|
|
|
|
# for SQLite: file:filename.db or file:///path/to/filename.db
|
2017-07-05 14:10:28 +02:00
|
|
|
database:
|
|
|
|
account: "postgres://dendrite:itsasecret@localhost/dendrite_account?sslmode=disable"
|
|
|
|
device: "postgres://dendrite:itsasecret@localhost/dendrite_device?sslmode=disable"
|
|
|
|
media_api: "postgres://dendrite:itsasecret@localhost/dendrite_mediaapi?sslmode=disable"
|
|
|
|
sync_api: "postgres://dendrite:itsasecret@localhost/dendrite_syncapi?sslmode=disable"
|
|
|
|
room_server: "postgres://dendrite:itsasecret@localhost/dendrite_roomserver?sslmode=disable"
|
|
|
|
server_key: "postgres://dendrite:itsasecret@localhost/dendrite_serverkey?sslmode=disable"
|
2017-07-12 15:48:12 +02:00
|
|
|
federation_sender: "postgres://dendrite:itsasecret@localhost/dendrite_federationsender?sslmode=disable"
|
2018-07-05 18:34:59 +02:00
|
|
|
appservice: "postgres://dendrite:itsasecret@localhost/dendrite_appservice?sslmode=disable"
|
2020-06-30 11:37:21 +02:00
|
|
|
current_state: "postgres://dendrite:itsasecret@localhost/dendrite_currentstate?sslmode=disable"
|
2020-05-01 14:34:53 +02:00
|
|
|
max_open_conns: 100
|
|
|
|
max_idle_conns: 2
|
|
|
|
conn_max_lifetime: -1
|
2020-06-19 10:37:19 +02:00
|
|
|
# If 'use_naffka: true' set above then you need to specify a naffka database
|
2017-11-22 16:46:49 +01:00
|
|
|
# naffka: "postgres://dendrite:itsasecret@localhost/dendrite_naffka?sslmode=disable"
|
2017-07-05 14:10:28 +02:00
|
|
|
|
|
|
|
# The TCP host:port pairs to bind the internal HTTP APIs to.
|
|
|
|
# These shouldn't be exposed to the public internet.
|
2017-08-16 14:36:41 +02:00
|
|
|
# These aren't needed when running dendrite as a monolithic server.
|
2017-07-05 14:10:28 +02:00
|
|
|
listen:
|
|
|
|
room_server: "localhost:7770"
|
|
|
|
client_api: "localhost:7771"
|
|
|
|
federation_api: "localhost:7772"
|
|
|
|
sync_api: "localhost:7773"
|
|
|
|
media_api: "localhost:7774"
|
2017-09-25 12:20:36 +02:00
|
|
|
federation_sender: "localhost:7776"
|
2018-07-17 16:36:04 +02:00
|
|
|
appservice_api: "localhost:7777"
|
2020-03-30 16:02:20 +02:00
|
|
|
edu_server: "localhost:7778"
|
Send-to-device support (#1072)
* Groundwork for send-to-device messaging
* Update sample config
* Add unstable routing for now
* Send to device consumer in sync API
* Start the send-to-device consumer
* fix indentation in dendrite-config.yaml
* Create send-to-device database tables, other tweaks
* Add some logic for send-to-device messages, add them into sync stream
* Handle incoming send-to-device messages, count them with EDU stream pos
* Undo changes to test
* pq.Array
* Fix sync
* Logging
* Fix a couple of transaction things, fix client API
* Add send-to-device test, hopefully fix bugs
* Comments
* Refactor a bit
* Fix schema
* Fix queries
* Debug logging
* Fix storing and retrieving of send-to-device messages
* Try to avoid database locks
* Update sync position
* Use latest sync position
* Jiggle about sync a bit
* Fix tests
* Break out the retrieval from the update/delete behaviour
* Comments
* nolint on getResponseWithPDUsForCompleteSync
* Try to line up sync tokens again
* Implement wildcard
* Add all send-to-device tests to whitelist, what could possibly go wrong?
* Only care about wildcard when targeted locally
* Deduplicate transactions
* Handle tokens properly, return immediately if waiting send-to-device messages
* Fix sync
* Update sytest-whitelist
* Fix copyright notice (need to do more of this)
* Comments, copyrights
* Return errors from Do, fix dendritejs
* Review comments
* Comments
* Constructor for TransactionWriter
* defletions
* Update gomatrixserverlib, sytest-blacklist
2020-06-01 18:50:19 +02:00
|
|
|
key_server: "localhost:7779"
|
|
|
|
server_key_api: "localhost:7780"
|
2020-06-16 15:10:55 +02:00
|
|
|
user_api: "localhost:7781"
|
2020-06-30 11:37:21 +02:00
|
|
|
current_state_server: "localhost:7782"
|
2017-09-28 18:00:23 +02:00
|
|
|
|
|
|
|
# The configuration for tracing the dendrite components.
|
|
|
|
tracing:
|
|
|
|
# Config for the jaeger opentracing reporter.
|
|
|
|
# See https://godoc.org/github.com/uber/jaeger-client-go/config#Configuration
|
2018-04-10 14:21:20 +02:00
|
|
|
# for documentation.
|
2017-09-28 18:00:23 +02:00
|
|
|
jaeger:
|
|
|
|
disabled: true
|
2017-12-19 18:00:44 +01:00
|
|
|
|
|
|
|
# A list of application service config files to use
|
|
|
|
application_services:
|
|
|
|
config_files: []
|
2018-04-10 14:21:20 +02:00
|
|
|
|
|
|
|
# The configuration for dendrite logs
|
|
|
|
logging:
|
|
|
|
# The logging type, only "file" is supported at the moment
|
|
|
|
- type: "file"
|
|
|
|
# The logging level, must be one of debug, info, warn, error, fatal, panic.
|
|
|
|
level: "info"
|
|
|
|
# Parameters for this type of log
|
|
|
|
params:
|
|
|
|
# File logging must be given a path to a directory. Each component will write to a different file. Logs are rotated each day and gzipped
|
|
|
|
path: "/var/log/dendrite"
|
|
|
|
# It is possible to have multiple logging hooks at the same time.
|
|
|
|
# To save only errors in a different directory, uncomment the following.
|
|
|
|
# - type: "file"
|
|
|
|
# level: "error"
|
|
|
|
# params:
|
|
|
|
# path: "/var/log/dendrite/errors"
|