aboutsummaryrefslogtreecommitdiff
path: root/build/docker/dendrite-docker.yml
diff options
context:
space:
mode:
Diffstat (limited to 'build/docker/dendrite-docker.yml')
-rw-r--r--build/docker/dendrite-docker.yml129
1 files changed, 129 insertions, 0 deletions
diff --git a/build/docker/dendrite-docker.yml b/build/docker/dendrite-docker.yml
new file mode 100644
index 00000000..a72ff3dd
--- /dev/null
+++ b/build/docker/dendrite-docker.yml
@@ -0,0 +1,129 @@
+# 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: "matrix_key.pem"
+ # The x509 certificates used by the federation listeners for this server
+ federation_certificates: ["server.crt"]
+ # 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
+
+# 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
+
+# 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: ""
+
+# The config for communicating with kafka
+kafka:
+ # Where the kafka servers are running.
+ addresses: ["kafka:9092"]
+ # 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.
+ # If enabled database.naffka must also be specified.
+ use_naffka: true
+ # The names of the kafka topics to use.
+ topics:
+ output_room_event: roomserverOutput
+ output_client_data: clientapiOutput
+ output_typing_event: eduServerOutput
+ user_updates: userUpdates
+
+
+# The postgres connection configs for connecting to the databases e.g a postgres:// URI
+database:
+ account: "postgres://dendrite:itsasecret@postgres/dendrite_account?sslmode=disable"
+ device: "postgres://dendrite:itsasecret@postgres/dendrite_device?sslmode=disable"
+ media_api: "postgres://dendrite:itsasecret@postgres/dendrite_mediaapi?sslmode=disable"
+ sync_api: "postgres://dendrite:itsasecret@postgres/dendrite_syncapi?sslmode=disable"
+ room_server: "postgres://dendrite:itsasecret@postgres/dendrite_roomserver?sslmode=disable"
+ server_key: "postgres://dendrite:itsasecret@postgres/dendrite_serverkey?sslmode=disable"
+ federation_sender: "postgres://dendrite:itsasecret@postgres/dendrite_federationsender?sslmode=disable"
+ public_rooms_api: "postgres://dendrite:itsasecret@postgres/dendrite_publicroomsapi?sslmode=disable"
+ appservice: "postgres://dendrite:itsasecret@postgres/dendrite_appservice?sslmode=disable"
+ # If using naffka you need to specify a naffka database
+ naffka: "postgres://dendrite:itsasecret@postgres/dendrite_naffka?sslmode=disable"
+
+# The TCP host:port pairs to bind the internal HTTP APIs to.
+# These shouldn't be exposed to the public internet.
+# These aren't needed when running dendrite as a monolithic server.
+listen:
+ room_server: "room_server:7770"
+ client_api: "client_api:7771"
+ federation_api: "federation_api:7772"
+ sync_api: "sync_api:7773"
+ media_api: "media_api:7774"
+ public_rooms_api: "public_rooms_api:7775"
+ federation_sender: "federation_sender:7776"
+ edu_server: "typing_server:7777"
+
+# 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
+ # for documentation.
+ jaeger:
+ disabled: true
+
+# A list of application service config files to use
+application_services:
+ config_files: []