Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve config panel #356

Merged
merged 98 commits into from
Sep 13, 2023
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
cbebfa9
imrove config panel
Gredin67 Jan 6, 2023
d0efc85
https element url
Gredin67 Jan 6, 2023
2b3cf8c
revert remove jitsi setting
Gredin67 Jan 6, 2023
4d0a7b9
correct bind
Gredin67 Jan 9, 2023
c7208ce
Update install
Gredin67 Jan 9, 2023
8e153d4
Update upgrade
Gredin67 Jan 9, 2023
24044b0
default to matrix.to
Gredin67 Jan 9, 2023
5dbf9f8
matrix.to
Gredin67 Jan 9, 2023
45f2721
Update install
Gredin67 Jan 10, 2023
6678d88
Update upgrade
Gredin67 Jan 10, 2023
04a2760
give auto_join_rooms default
Gredin67 Jan 10, 2023
2915167
correct __FOOBAR__ init
Gredin67 Jan 10, 2023
eb51ba4
correct init e2e_default
Gredin67 Jan 10, 2023
e8ddae1
e2e_enabled_by_default [all,invite,off]
Gredin67 Jan 10, 2023
2462d89
disable password if registration disabled
Gredin67 Jan 10, 2023
b28486f
correst string compare syntax
Gredin67 Jan 11, 2023
56ad01b
client urls
Gredin67 Jan 11, 2023
7ada897
init allow_regis at upgrade
Gredin67 Jan 11, 2023
2cabc70
erase custom config panel
Gredin67 Jan 11, 2023
3ced5e2
clean config init
Gredin67 Jan 11, 2023
e6a6fff
typo
Gredin67 Jan 11, 2023
fa02d4e
typo
Gredin67 Jan 11, 2023
5ee7ed4
typo
Gredin67 Jan 11, 2023
36df907
tyyyyyyyyyyyyyy
Gredin67 Jan 11, 2023
3af6cc7
typotypo
Gredin67 Jan 11, 2023
5e939ba
yeepy!
Gredin67 Jan 11, 2023
84eb157
config max_upload_size
Gredin67 Jan 13, 2023
af225f6
Merge branch 'master' into config-panel
Gredin67 Jan 14, 2023
5d6efa0
Apply suggestions from code review
Gredin67 Jan 18, 2023
dbee6ce
refactor config panel structure
Gredin67 Jan 18, 2023
d5b8ec1
correct visible syntax
Gredin67 Jan 18, 2023
7baee4b
typo
Gredin67 Jan 18, 2023
2faeeb5
make panel load
Gredin67 Jan 18, 2023
75349b3
restructure allowed_local_3pids
Gredin67 Jan 19, 2023
0588509
add privacy on push notifications
rosbeef Jan 28, 2023
86345a6
Update config_panel.toml
rosbeef Jan 28, 2023
b886394
Update homeserver.yaml
rosbeef Jan 30, 2023
c2e1891
Update config_panel.toml
rosbeef Jan 30, 2023
a01e0c1
Update homeserver.yaml
rosbeef Jan 30, 2023
0eac5aa
Update config_panel.toml
rosbeef Jan 30, 2023
d5869bd
Update install
rosbeef Jan 30, 2023
fcdd1d1
Update upgrade
rosbeef Jan 30, 2023
2a0a993
Merge pull request #1 from rosbeef/patch-2
rosbeef Jan 31, 2023
ef46161
nginx max_upload_size
Gredin67 Apr 18, 2023
ed452ea
Merge branch 'testing' into config-panel
Gredin67 Apr 23, 2023
b949352
Update config_panel.toml
rosbeef Jun 29, 2023
2609503
Update config
rosbeef Jun 29, 2023
1e51a9e
WIP
rosbeef Jun 29, 2023
da52218
Update config registrations_require_3pid ok
rosbeef Jul 1, 2023
c915125
Update config allowed_local_3pids
rosbeef Jul 1, 2023
2005c1b
Update config auto_join_rooms
rosbeef Jul 1, 2023
b0eba01
Update config_panel.toml
rosbeef Jul 1, 2023
11eea48
Update config bug corrected
rosbeef Jul 2, 2023
0438f8f
Update config
rosbeef Jul 2, 2023
8e59218
Update config
rosbeef Jul 2, 2023
4f7892a
Update config
rosbeef Jul 2, 2023
94d49b7
Update config_panel.toml
rosbeef Jul 2, 2023
c7d3eed
merge last commits from #374
Gredin67 Jul 3, 2023
3b9218c
Update config
rosbeef Jul 6, 2023
3a42d18
Update config_panel.toml
rosbeef Jul 6, 2023
05b8749
Update config Done
rosbeef Jul 9, 2023
c77c1eb
Update config_panel.toml auto_join_rooms
rosbeef Jul 10, 2023
cb1f43e
Update install auto_join_rooms
rosbeef Jul 10, 2023
50b41da
Update upgrade auto_join_rooms
rosbeef Jul 10, 2023
544d5b8
Update homeserver.yaml
rosbeef Jul 10, 2023
74c213b
Update config_panel.toml
Gredin67 Jul 15, 2023
154ca11
replace "\# with "#
Gredin67 Jul 15, 2023
c17d50b
help \\\ for user \\ to write \
Gredin67 Jul 15, 2023
9b6641d
correct help \\\\+ to write \\+
Gredin67 Jul 15, 2023
2e4e56b
Update config_panel.toml
rosbeef Jul 21, 2023
086a58a
Update config
rosbeef Jul 21, 2023
f6c284a
Update install
rosbeef Jul 21, 2023
86a9273
Update config_panel.toml
Gredin67 Jul 25, 2023
9f585ff
Update config_panel.toml
Gredin67 Jul 26, 2023
96e125a
Update config_panel.toml
Gredin67 Jul 26, 2023
9d4c9ab
\\\ will write \\
Gredin67 Jul 31, 2023
a962f7e
double quotes
Gredin67 Aug 13, 2023
93b8dc6
add msisdn delegates parameter
rosbeef Aug 21, 2023
f89060f
add msisdn third party server condifuration for SMS otp
rosbeef Aug 21, 2023
3f73925
little update
rosbeef Aug 21, 2023
3ec12e3
little update
rosbeef Aug 21, 2023
9258436
add account_threepid_delegates_msisdn default config
rosbeef Aug 21, 2023
ce6ad24
add account_threepid_delegates_msisdn configuration
rosbeef Aug 21, 2023
6dd8dcd
Update upgrade
rosbeef Aug 21, 2023
6c2f8de
Update upgrade
rosbeef Aug 21, 2023
902e056
Update install account_threepid_delegates_msisdn
rosbeef Aug 22, 2023
887a045
Update homeserver.yaml
rosbeef Aug 23, 2023
154f419
typo?
Gredin67 Aug 23, 2023
a509883
correct threepid error
rosbeef Aug 23, 2023
9fb4fe1
third party server to send confirmation code by SMS. last change
rosbeef Aug 26, 2023
bc753b3
defaullt value for third party server to send confirmation code by SMS.
rosbeef Aug 26, 2023
b8379fe
default value for third party server to send confirmation code by SMS.
rosbeef Aug 26, 2023
d47041f
enable but default empty third party server to send confirmation code…
rosbeef Aug 26, 2023
5946074
Update config_panel.toml
rosbeef Aug 30, 2023
8c32dcd
fix duplicated default value
rosbeef Sep 1, 2023
5f71398
fix "false" value to "none" in select field
rosbeef Sep 2, 2023
924b976
fix "false" value to "none" in select field
rosbeef Sep 2, 2023
1347933
fix "false" value to "none" in select field
rosbeef Sep 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 24 additions & 24 deletions conf/homeserver.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ pid_file: /run/matrix-__APP__/homeserver.pid

# The absolute URL to the web client which / will redirect to.
#
#web_client_location: https://riot.example.com/
web_client_location: __WEB_CLIENT_LOCATION__

# The public-facing base URL that clients use to access this Homeserver (not
# including _matrix/...). This is the same URL a user might enter into the
Expand Down Expand Up @@ -122,12 +122,12 @@ presence:
# public rooms directory through the client API, meaning that anyone can
# query the room directory. Defaults to 'false'.
#
allow_public_rooms_without_auth: __ALLOW_PUBLIC_ROOMS__
allow_public_rooms_without_auth: __ALLOW_PUBLIC_ROOMS_WITHOUT_AUTH__

# If set to 'true', allows any other homeserver to fetch the server's public
# rooms directory via federation. Defaults to 'false'.
#
allow_public_rooms_over_federation: __ALLOW_PUBLIC_ROOMS__
allow_public_rooms_over_federation: __ALLOW_PUBLIC_ROOMS_OVER_FEDERATION__

# The default room version for newly created rooms.
#
Expand Down Expand Up @@ -978,7 +978,7 @@ media_storage_providers:
# your reverse proxy's config. Notably Nginx has a small max body size by default.
# See https://matrix-org.github.io/synapse/latest/reverse_proxy.html.
#
max_upload_size: 100M
max_upload_size: __MAX_UPLOAD_SIZE__
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved

# Maximum number of pixels that will be thumbnailed
#
Expand Down Expand Up @@ -1200,7 +1200,7 @@ turn_user_lifetime: 1h
# connect to arbitrary endpoints without having first signed up for a
# valid account (e.g. by passing a CAPTCHA).
#
turn_allow_guests: __ALLOWED_ACCESS__
turn_allow_guests: __TURN_ALLOW_GUESTS__


## Registration ##
Expand All @@ -1212,7 +1212,7 @@ turn_allow_guests: __ALLOWED_ACCESS__
# you use either captcha, email, or token-based verification to verify that new users are not bots. In order to enable registration
# without any verification, you must also set `enable_registration_without_verification`, found below.
#
enable_registration: __ALLOWED_ACCESS__
enable_registration: __ENABLE_REGISTRATION__

# Enable registration without email or captcha verification. Note: this option is *not* recommended,
# as registration without verification is a known vector for spam and abuse. Defaults to false. Has no effect
Expand Down Expand Up @@ -1272,20 +1272,20 @@ enable_registration: __ALLOWED_ACCESS__
# The user must provide all of the below types of 3PID when registering.
#
registrations_require_3pid:
- email
- __REGISTRATIONS_REQUIRE_3PID__
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved
# - msisdn

# Explicitly disable asking for MSISDNs from the registration
# flow (overrides registrations_require_3pid if MSISDNs are set as required)
#
#disable_msisdn_registration: true
disable_msisdn_registration: __DISABLE_MSISDN_REGISTRATION__

# Mandate that users are only allowed to associate certain formats of
# 3PIDs with accounts on this server.
#
#allowed_local_3pids:
# - medium: email
# pattern: '^[^@]+@matrix\.org$'
allowed_local_3pids:
- medium: __REGISTRATIONS_REQUIRE_3PID__
pattern: __ALLOWED_LOCAL_3PIDS__
# - medium: email
# pattern: '^[^@]+@vector\.im$'
# - medium: msisdn
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved
Expand Down Expand Up @@ -1327,15 +1327,15 @@ registration_shared_secret: "__REGISTRATION_SHARED_SECRET__"
# participate in rooms hosted on this server which have been made
# accessible to anonymous users.
#
#allow_guest_access: false
allow_guest_access: __ALLOW_GUEST_ACCESS__

# The identity server which we suggest that clients should use when users log
# in on this server.
#
# (By default, no suggestion is made, so it is left up to the client.
# This setting is ignored unless public_baseurl is also explicitly set.)
#
#default_identity_server: https://matrix.org
default_identity_server: __DEFAULT_IDENTITY_SERVER__

# Handle threepid (email/phone etc) registration and password resets through a set of
# *trusted* identity servers. Note that this allows the configured identity server to
Expand Down Expand Up @@ -1394,8 +1394,8 @@ account_threepid_delegates:
# If the room already exists, make certain it is a publicly joinable
# room. The join rule of the room must be set to 'public'.
#
#auto_join_rooms:
# - "#example:example.com"
auto_join_rooms:
- "__AUTO_JOIN_ROOMS__"
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved

# Where auto_join_rooms are specified, setting this flag ensures that the
# the rooms exist by creating them when the first user on the
Expand All @@ -1411,7 +1411,7 @@ account_threepid_delegates:
# Defaults to true. Uncomment the following line to disable automatically
# creating auto-join rooms.
#
#autocreate_auto_join_rooms: false
autocreate_auto_join_rooms: __AUTOCREATE_AUTO_JOIN_ROOMS__

# Whether the auto_join_rooms that are auto-created are available via
# federation. Only has an effect if autocreate_auto_join_rooms is true.
Expand Down Expand Up @@ -1462,7 +1462,7 @@ account_threepid_delegates:
#
# Defaults to true.
#
#auto_join_rooms_for_guests: false
auto_join_rooms_for_guests: __AUTO_JOIN_ROOMS_FOR_GUESTS__

# Whether to inhibit errors raised when registering a new account if the user ID
# already exists. If turned on, that requests to /register/available will always
Expand Down Expand Up @@ -2167,7 +2167,7 @@ __DOMAIN_WHITELIST_CLIENT__
password_config:
# Uncomment to disable password login
#
#enabled: false
enabled: __PASSWORD_ENABLED__

# Uncomment to disable authentication against the local password
# database. This is ignored if `enabled` is false, and is only useful
Expand Down Expand Up @@ -2307,20 +2307,20 @@ email:
# Uncomment the following to enable sending emails for messages that the user
# has missed. Disabled by default.
#
enable_notifs: true
enable_notifs: __ENABLE_NOTIFS__

# Uncomment the following to disable automatic subscription to email
# notifications for new users. Enabled by default.
#
#notif_for_new_users: false
notif_for_new_users: __NOTIF_FOR_NEW_USERS__

# Custom URL for client links within the email notifications. By default
# links will be based on "https://matrix.to".
#
# (This setting used to be called riot_base_url; the old name is still
# supported for backwards-compatibility but is now deprecated.)
#
#client_base_url: "http://localhost/riot"
client_base_url: __CLIENT_BASE_URL__

# Configure the time that a validation email will expire after sending.
# Defaults to 1h.
Expand All @@ -2331,7 +2331,7 @@ email:
# to the identity server as the org.matrix.web_client_location key. Defaults
# to unset, giving no guidance to the identity server.
#
#invite_client_location: https://app.element.io
invite_client_location: __INVITE_CLIENT_LOCATION__
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved

# Subjects to use when sending emails from Synapse.
#
Expand Down Expand Up @@ -2450,12 +2450,12 @@ push:
# Note that this option will only affect rooms created after it is set. It
# will also not affect rooms created by other servers.
#
#encryption_enabled_by_default_for_room_type: invite
encryption_enabled_by_default_for_room_type: __E2E_ENABLED_BY_DEFAULT__


# Uncomment to allow non-server-admin users to create groups on this server
#
enable_group_creation: true
enable_group_creation: __ENABLE_GROUP_CREATION__

# If enabled, non server admins can only create groups with local parts
# starting with this prefix
Expand Down
209 changes: 209 additions & 0 deletions config_panel.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
version = "1.0"

[homeserver]
name = "Homeserver Privacy"
services = ["__APP__"]

[homeserver.config]
name = "Configuration Options"

[homeserver.config.backup_before_upgrade]
ask = "Backup before upgrade"
type = "boolean"
yes = true
no = false
help = "Set to 'true' to backup the Synapse YunoHost App before each upgrade."

[homeserver.config.server_statistics]
ask = "Server statistics"
type = "boolean"
yes = true
no = false
help = "Set to 'true' to send anonymous statistics to Synapse to improve performance."
bind = "report_stats:/etc/matrix-__APP__/homeserver.yaml"

[homeserver.privacy]
name = "Data Privacy"

[homeserver.privacy.default_identity_server]
ask = "Identity server suggested to clients."
type = "url"
help = "By default, no suggestion is made, so it is left up to the client."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[homeserver.privacy.allow_public_rooms_without_auth]
ask = "Public rooms directory"
type = "boolean"
yes = true
no = false
help = "If set to 'false', requires authentication to access the server's public rooms directory through the client API and forbids any other homeserver to fetch the server's public rooms directory via federation."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[homeserver.privacy.allow_public_rooms_over_federation]
ask = "Public rooms directory"
type = "boolean"
yes = true
no = false
help = "If set to 'false', requires authentication to access the server's public rooms directory through the client API and forbids any other homeserver to fetch the server's public rooms directory via federation."
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[account]
name = "Registration"
services = ["__APP__"]

[account.registration]
name = "Account Registration"

[account.registration.turn_allow_guests]
ask = "Should guests be allowed to use the TURN server?"
type = "boolean"
yes = true
no = false
help = "This defaults to True, otherwise VoIP will be unreliable for guests. However, it does introduce a slight security risk as it allows users to connect to arbitrary endpoints without having first signed up for a valid account (e.g. by passing a CAPTCHA)."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[account.registration.enable_registration]
ask = "Enable Registration for new users."
type = "boolean"
yes = true
no = false
help = "Defaults to 'false'. If 'true', it is highly recommended to use either captcha, email, or token-based verification to avoid SPAM."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[account.registration.registrations_require_3pid]
ask = "Register only with all below types of 3PID."
type = "string"
help = "Defaults to: '- email'. Phone number: '- msisdn'"
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[account.registration.disable_msisdn_registration]
ask = "Disable asking Phone Number in Registration flow."
type = "boolean"
yes = true
no = false
help = "Overrides above setting if MSISDNs are set as required."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[account.registration.allowed_local_3pids]
ask = "Register only with given formats of 3PIDs."
type = "string"
help = '''
allowed_local_3pids:
- medium: email - medium: email
pattern: '^[^@]+@matrix\.org$'
- medium: msisdn
pattern: '\+33'
'''

[account.registration.registration_shared_secret]
ask = "Shared Secret for Registration."
type = "string"
help = "Allows registration of standard or admin accounts, even if Registration disabled."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[account.registration.allow_guest_access]
ask = "Allow Users to Register as Guests?"
type = "boolean"
yes = true
no = false
help = "Guests can participate on this server in rooms with guest access enabled, without a password/email/etc."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client]
name = "Matrix Client"
services = ["__APP__"]

[client.experience]
name = "User Experience"

[client.experience.max_upload_size]
ask = "Largest allowed media upload size in bytes."
type = "url"
help = "Defaults to: '10M' . If you are using a reverse proxy you may also need to set this value in your reverse proxy's config. Notably Nginx has a small max body size by default. See https://matrix-org.github.io/synapse/latest/reverse_proxy.html."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.experience.web_client_location]
ask = "URL to the web client which / will redirect to."
type = "url"
help = "Basically Element instance the server should redirect to."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.experience.client_base_url]
ask = "URL for client links within the email notifications."
type = "url"
help = "Used to be called 'riot_base_url', still supported"
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.experience.invite_client_location]
ask = "Web client location to direct users to during an invite."
type = "url"
help = "This is passed to the identity server as the org.matrix.web_client_location key. Defaults to unset, giving no guidance to the identity server."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.experience.enable_group_creation]
ask = "Allow non-server-admin Users to create Spaces?"
type = "boolean"
yes = true
no = false
help = "Defaults to 'false'."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.experience.e2e_enabled_by_default]
ask = "End-to-End Encryption by default for locally-created Rooms"
type = "select"
choices = ["all", "invite", "off"]
help = '''
* "all": any locally-created room
* "invite": any room created with the "private_chat" or "trusted_private_chat" room creation presets
* "off": this option will take no effect
'''
bind = "encryption_enabled_by_default_for_room_type:/etc/matrix-__APP__/homeserver.yaml"

[client.welcome]
name = "Welcome User Experience"

[client.welcome.auto_join_rooms]
ask = "Auto Join new Users in following Rooms."
type = "string"
help = "Room should be public. If not existing, will be created as public and federated by default."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.welcome.autocreate_auto_join_rooms]
ask = "Create room for Auto Join if not existing."
type = "boolean"
yes = true
no = false
help = "Will be created as public and federated by default. Can be customised with the settings auto_join_*."
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.welcome.auto_join_rooms_for_guests]
ask = "Enable Auto Join Room for Guests?"
type = "boolean"
yes = true
no = false
help = "Defaults to 'true'."
bind = ":/etc/matrix-__APP__/homeserver.yaml"
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved

[client.welcome.password_enabled]
ask = "Enable Password Login?"
type = "boolean"
yes = true
no = false
help = "Defaults to 'true'."
bind = "password_config>enabled:/etc/matrix-__APP__/homeserver.yaml"
Gredin67 marked this conversation as resolved.
Show resolved Hide resolved

[client.welcome.enable_notifs]
ask = "Enable sending emails for messages the user missed?"
type = "boolean"
yes = true
no = false
help = "Defaults to 'false'."
bind = ":/etc/matrix-__APP__/homeserver.yaml"

[client.welcome.notif_for_new_users]
ask = "Enable email notifications for new users?"
type = "boolean"
yes = true
no = false
help = "Defaults to 'true'."
bind = ":/etc/matrix-__APP__/homeserver.yaml"
Loading