Personal Homelab
1server_name: "${base_domain}"
2pid_file: /data/homeserver.pid
3web_client_location: "https://element.${base_domain}"
4public_baseurl: "https://matrix.${base_domain}"
5listeners:
6 - port: 8008
7 tls: false
8 type: http
9 x_forwarded: true
10 resources:
11 - names: [client, federation]
12 compress: false
13 - port: 9000
14 type: metrics
15
16database:
17 name: psycopg2
18 args:
19 user: synapse
20 password: ${secrets.synapse_postgres_password}
21 dbname: synapse
22 host: matrix-postgres
23 cp_min: 5
24 cp_max: 10
25
26redis:
27 enabled: true
28 host: matrix-valkey
29 port: 6379
30
31log_config: "/data/${base_domain}.log.config"
32media_store_path: /data/media_store
33registration_shared_secret: "${secrets.synapse_registration_shared_secret}"
34report_stats: false
35macaroon_secret_key: "${secrets.synapse_macaroon_secret_key}"
36form_secret: "${secrets.synapse_form_secret}"
37signing_key_path: "/data/${base_domain}.signing.key"
38trusted_key_servers:
39 - server_name: "matrix.org"
40
41turn_uris: [ "turn:turn.${base_domain}?transport=udp", "turn:turn.${base_domain}?transport=tcp" ]
42turn_shared_secret: "${secrets.coturn_turn_shared_secret}"
43turn_user_lifetime: 86400000
44turn_allow_guests: false
45
46password_config:
47 enabled: false
48
49matrix_authentication_service:
50 enabled: true
51 endpoint: http://matrix-authentication-service:8080/
52 secret: ${secrets.matrix_authentication_service_secret}
53
54enable_metrics: true
55
56# Support Element Call
57experimental_features:
58 # MSC3266: Room summary API. Used for knocking over federation
59 msc3266_enabled: true
60 # MSC4222 needed for syncv2 state_after. This allow clients to
61 # correctly track the state of the room.
62 msc4222_enabled: true
63
64# The maximum allowed duration by which sent events can be delayed, as
65# per MSC4140.
66max_event_delay_duration: 24h
67
68rc_message:
69 # This needs to match at least e2ee key sharing frequency plus a bit of headroom
70 # Note key sharing events are bursty
71 per_second: 0.5
72 burst_count: 30
73
74rc_delayed_event_mgmt:
75 # This needs to match at least the heart-beat frequency plus a bit of headroom
76 # Currently the heart-beat is every 5 seconds which translates into a rate of 0.2s
77 per_second: 1
78 burst_count: 20