YunoHost-Apps / synapse_ynh

Matrix server (synapse) package for YunoHost
https://matrix.org/
GNU General Public License v3.0
79 stars 43 forks source link

Multiple default config depending on use-case #403

Open Gredin67 opened 10 months ago

Gredin67 commented 10 months ago

While writing the config panel, I realized that there were improvements possible in the default homeserver.yaml configuration. First differentiating the typical SSO/registration_disabled use-case from the password_login/registration_requires_email use-case. For instance in the latter, password_config:policy:enabled: true should be set. An interesting feature would be to define 2-3 typical use-cases and to adjust the config at install accordingly. In practice we could maintain several homeserver.yaml template files in conf/, so we can change more than only the config_panel settings at install.

In order to address this issue collectively, I prepared a spreadsheet listing all settings that are in the config panel and others that I found relevant to privacy protection. We could add mode if required. To define the typical use-cases and corresponding default config. In RED, settings that are not exposed in the config panel.

https://pad.exarius.org/sheet/#/2/sheet/edit/yZ6ZP-1U1c7M+4khveV+P8f8/

Gredin67 commented 10 months ago

Element is defining following use-cases

image

lapineige commented 10 months ago

Thank you for that awesome work !

That is definitely a very good idea, in particular for such a multi-purpose app.

Is there any performance settings that could be adjusted too ?

Gredin67 commented 5 months ago

We did great progress yesterday with @Thatoo ! Note that in general privacy on Matrix depends on a subtle mix between pseudonymity and encryption. We filled all current default settings and suggest 4 default configurations depending on the use-case :

This only makes sense if you federate only with servers targetting similar use-case, applying similar settings.

Gredin67 commented 5 months ago

For the Conference-like config, an option would be to have only guests on the whole server and disable federation, see https://github.com/matrix-org/synapse/issues/6401 In general we could expose disabling federation in the config panel