-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathsynapse.template.yaml
More file actions
199 lines (157 loc) · 4 KB
/
synapse.template.yaml
File metadata and controls
199 lines (157 loc) · 4 KB
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# This template is used by synapse-entrypoint.sh to generate the actual config
server_name: "${SERVER_NAME}"
no_tls: True
trusted_key_servers: []
soft_file_limit: 0
federation_domain_whitelist:
${KNOWN_SERVERS}
listeners:
- port: 8008
bind_addresses: ['0.0.0.0']
type: http
tls: false
x_forwarded: true
resources:
- names:
- client
- federation
compress: false
- port: 9101
bind_addresses: ['0.0.0.0']
type: metrics
# HTTP replication
- port: 9093
bind_address: '0.0.0.0'
type: http
resources:
- names: [replication]
redis:
enabled: false
host: redis
event_cache_size: "20K"
log_config: "/config/synapse.log.config"
## Split worker specific settings
# Handled by the federation_sender worker
send_federation: False
# Handled by the user_directory worker
update_user_directory: False
## Ratelimiting
rc_joins:
local:
per_second: 10
burst_count: 30
remote:
per_second: 10
burst_count: 30
rc_admin_redaction:
per_second: 10
burst_count: 30
rc_message:
# Number of messages a client can send per second on average
per_second: 300
# Number of message a client can send before being throttled
burst_count: 2000
rc_login:
address:
per_second: 1
burst_count: 10
account:
per_second: 1
burst_count: 10
failed_attempts:
per_second: 1
burst_count: 2
rc_federation:
# The federation window size in milliseconds
window_size: 1000
# The number of federation requests from a single server in a window
# before the server will delay processing the request.
sleep_limit: 250
# The duration in milliseconds to delay processing events from
# remote servers by if they go over the sleep limit.
sleep_delay: 125
# The maximum number of concurrent federation requests allowed
# from a single server
reject_limit: 50
# The number of federation requests to concurrently process from a
# single server
concurrent: 3
## Files and uploads
# Disable all
max_upload_size: "0"
max_image_pixels: "0"
dynamic_thumbnails: false
url_preview_enabled: False
## Registration
enable_registration: False
enable_registration_captcha: False
allow_guest_access: False
password_providers:
- module: 'eth_auth_provider.EthAuthProvider'
config:
enabled: true
- module: 'admin_user_auth_provider.AdminUserAuthProvider'
config:
enabled: true
credentials_file: /config/admin_user_cred.json
bcrypt_rounds: 12
trusted_third_party_id_servers:
- localhost
## Metrics ###
enable_metrics: True
report_stats: True
federation_metrics_domains:
${KNOWN_SERVERS}
## API Configuration ##
room_invite_state_types:
- "m.room.join_rules"
- "m.room.canonical_alias"
- "m.room.name"
## Room Creation Rules ##
alias_creation_rules:
- user_id: "@admin*"
alias: "#raiden_*_*"
room_id: "*"
action: allow
- user_id: "*"
alias: "#raiden_*_*"
room_id: "*"
action: deny
## Message Retention Policy ##
retention:
enabled: true
default_policy:
min_lifetime: 14d # not in use by the servers yet
max_lifetime: 15d
allowed_lifetime_max: 15d
purge_jobs:
- longest_max_lifetime: 15d
interval: 1d
# A list of application service config file to use
app_service_config_files: []
macaroon_secret_key: "${MACAROON_KEY}"
# Used to enable access token expiration.
expire_access_token: False
## Signing Keys
# Path to the signing key to sign messages with
signing_key_path: "/data/keys/synapse-signing.key"
old_signing_keys: {}
key_refresh_interval: "1d" # 1 Day.
# Enable password for login.
password_config:
enabled: true
enable_group_creation: false
user_directory:
search_all_users: true
database:
name: sqlite3
args:
database: ":memory:"
presence:
enabled: true
presence_router:
module: raiden_synapse_modules.pfs_presence_router.PFSPresenceRouter
config:
ethereum_rpc: https://goerli.infura.io/v3/FILLMEIN
service_registry_address: 0x3bc9C8d34f5714327095358668fD436D7c457C6C
blockchain_sync_seconds: 15