-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhomeserver.yaml
More file actions
157 lines (136 loc) · 3.91 KB
/
homeserver.yaml
File metadata and controls
157 lines (136 loc) · 3.91 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
server_name: "${SERVER_NAME}"
pid_file: /data/homeserver.pid
# Public base URL for federation and .well-known delegation
# This tells other servers to connect on port 443 instead of 8448
# Set via PUBLIC_BASEURL env var (defaults to https://SERVER_NAME if not set)
# When SERVE_WELLKNOWN=true, entrypoint adds serve_server_wellknown: true
public_baseurl: "${PUBLIC_BASEURL}"
## Federation ##
# federation_domain_whitelist:
# - matrix.papers.tech
# - beacon.tztip.me
federation_ip_range_blacklist:
- '127.0.0.0/8'
- '10.0.0.0/8'
- '172.16.0.0/12'
- '192.168.0.0/16'
- '100.64.0.0/10'
- '169.254.0.0/16'
- '::1/128'
- 'fe80::/64'
- 'fc00::/7'
## Listening Ports ##
# In single-process mode: port 8008, bind 0.0.0.0
# In worker mode: port 8080, bind 127.0.0.1 (nginx fronts on 8008)
listeners:
- port: ${SYNAPSE_HTTP_PORT}
type: http
tls: false
bind_addresses: ['${SYNAPSE_HTTP_BIND}']
x_forwarded: true
resources:
- names: [client, federation]
# Metrics endpoint for Prometheus (port 19090)
- port: 19090
type: metrics
bind_addresses: ['${METRICS_BIND_ADDRESS}']
# https://github.com/matrix-org/synapse/blob/master/docs/message_retention_policies.md
# https://github.com/matrix-org/synapse/blob/v1.36.0/docs/sample_config.yaml#L451-L518
retention:
enabled: true
default_policy:
max_lifetime: 1d
allowed_lifetime_max: 1d
## Database ##
database:
name: psycopg2
args:
user: ${DB_USER}
password: ${DB_PASS}
database: ${DB_NAME}
host: ${DB_HOST}
cp_min: ${DB_CP_MIN}
cp_max: ${DB_CP_MAX}
log_config: "/config/synapse.log.config"
## Ratelimiting
rc_message:
per_second: 100
burst_count: 1000
rc_login:
address:
per_second: 1
burst_count: 10
account:
per_second: 1
burst_count: 10
failed_attempts:
per_second: 1
burst_count: 10
rc_federation:
window_size: 1000
sleep_limit: 50
sleep_delay: 250
reject_limit: 50
concurrent: 10
bcrypt_rounds: 12
report_stats: false
enable_metrics: true
signing_key_path: "/config/signing.key"
trusted_key_servers: []
password_config:
enabled: false
password_providers:
- module: "crypto_auth_provider.CryptoAuthProvider"
config:
enabled: true
# Pure p2p communication transport layer: no search, profiles, media, or registration
enable_group_creation: false
enable_room_list_search: false
enable_registration_captcha: false
allow_guest_access: false
enable_registration: false
use_presence: false
require_auth_for_profile_requests: true
allow_public_rooms_without_auth: false
allow_public_rooms_over_federation: true
enable_search: false
allow_per_room_profiles: false
redaction_retention_period: 1d
user_ips_max_age: 1d
# No media support needed for Beacon relay
enable_media_repo: false
max_upload_size: "0"
max_image_pixels: "0"
dynamic_thumbnails: false
url_preview_enabled: false
## Caching - Performance optimizations
caches:
global_factor: 2.0
per_cache_factors:
get_users_in_room: 5.0
get_room_summary: 5.0
get_event: 3.0
event_cache_size: 100K
registration_shared_secret: "${REGISTRATION_SHARED_SECRET}"
modules:
- module: beacon_info_module.BeaconInfoModule
config:
known_servers:
- "beacon-node-1.diamond.papers.tech"
- "beacon-node-1.sky.papers.tech"
- "beacon-node-2.sky.papers.tech"
- "beacon-node-1.hope.papers.tech"
- "beacon-node-1.hope-2.papers.tech"
- "beacon-node-1.hope-3.papers.tech"
- "beacon-node-1.hope-4.papers.tech"
- "beacon-node-1.hope-5.papers.tech"
- "beacon-node-1.beacon-server-1.papers.tech"
- "beacon-node-1.beacon-server-2.papers.tech"
- "beacon-node-1.beacon-server-3.papers.tech"
- "beacon-node-1.beacon-server-4.papers.tech"
- "beacon-1.ecadinfra.com"
- "beacon-2.ecadinfra.com"
- "beacon-3.ecadinfra.com"
- "beacon-4.ecadinfra.com"
- module: beacon_monitor_module.BeaconMonitorModule
config: {}