summary refs log tree commit diff
path: root/docker/complement/conf/workers-shared-extra.yaml.j2
blob: 491a4303b60578c196a724308bd197bf6290bdb5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{#
  This file extends the default 'shared' configuration file (from the 'synapse-workers'
  docker image) with Complement-specific  tweak.

  The base configuration is moved out of the default path to `shared-orig.yaml.j2`
  in the Complement Dockerfile and below we include that original file.
#}

## Server ##
report_stats: False
trusted_key_servers: []
enable_registration: true
enable_registration_without_verification: true
bcrypt_rounds: 4
url_preview_enabled: true
url_preview_ip_range_blacklist: []

## Registration ##

# At present, there is no way to expire a refreshing access token without also logging
# out the device. (The spec mandates that a refresh token is invalidated when a newer
# access token or refresh token is used, but the original access token continues on
# until expiry.) The default lifetime of a refreshing access tokens is 5 minutes; this
# is too long to wait in tests that probe the behaviour of refreshing access tokens.
#
# As a stopgap, make refreshing access tokens last for only a second. Tests can sleep
# for (a little over) 1s to ensure the token really has expired.
refreshable_access_token_lifetime: 1s

# Needed by Complement to register admin users
# DO NOT USE in a production configuration! This should be a random secret.
registration_shared_secret: complement

## Federation ##

# trust certs signed by Complement's CA
federation_custom_ca_list:
- /complement/ca/ca.crt

# unblacklist RFC1918 addresses
federation_ip_range_blacklist: []

# Disable server rate-limiting
rc_federation:
  window_size: 1000
  sleep_limit: 10
  sleep_delay: 500
  reject_limit: 99999
  concurrent: 3

rc_message:
  per_second: 9999
  burst_count: 9999

rc_registration:
  per_second: 9999
  burst_count: 9999

rc_login:
  address:
    per_second: 9999
    burst_count: 9999
  account:
    per_second: 9999
    burst_count: 9999
  failed_attempts:
    per_second: 9999
    burst_count: 9999

rc_admin_redaction:
  per_second: 9999
  burst_count: 9999

rc_joins:
  local:
    per_second: 9999
    burst_count: 9999
  remote:
    per_second: 9999
    burst_count: 9999

rc_joins_per_room:
    per_second: 9999
    burst_count: 9999

rc_3pid_validation:
  per_second: 1000
  burst_count: 1000

rc_invites:
  per_room:
    per_second: 1000
    burst_count: 1000
  per_user:
    per_second: 1000
    burst_count: 1000

federation_rr_transactions_per_room_per_second: 9999

allow_device_name_lookup_over_federation: true

## Experimental Features ##

experimental_features:
  # Enable history backfilling support
  msc2716_enabled: true
  # client-side support for partial state in /send_join responses
  faster_joins: true
  # Enable support for polls
  msc3381_polls_enabled: true
  # Enable deleting device-specific notification settings stored in account data
  msc3890_enabled: true
  # Enable removing account data support
  msc3391_enabled: true
  # Filtering /messages by relation type.
  msc3874_enabled: true

server_notices:
  system_mxid_localpart: _server
  system_mxid_display_name: "Server Alert"
  system_mxid_avatar_url: ""
  room_name: "Server Alert"


# Disable sync cache so that initial `/sync` requests are up-to-date.
caches:
  sync_response_cache_duration: 0


{% include "shared-orig.yaml.j2" %}