spantaleev / matrix-docker-ansible-deploy

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
GNU Affero General Public License v3.0
4.74k stars 1.02k forks source link

Cannot enable public registration on dendrite server #2545

Closed ReggieMarr closed 1 year ago

ReggieMarr commented 1 year ago

Describe the bug A clear and concise description of what the bug is.

When I go to create a new user using element's web ui I'm met with "Registration Disabled on homeserver" (See attached screenshots)

Screenshot from 2023-03-06 22-14-07 Screenshot from 2023-03-06 22-14-26

I do also occasionally get the following error:

failed: [matrix.bridge.monster] (item=matrix-traefik-certs-dumper.service) => changed=false 
  ansible_loop_var: item
  item: matrix-traefik-certs-dumper.service
  msg: matrix-traefik-certs-dumper.service was not detected to be running. It's possible that there's a configurationmatrix-traefik-certs-dumper.service` and `journalctl -fu matrix-traefik-certs-dumper.service` on the server to investis a false-positive. You can consider raising the value of the `devture_systemd_service_manager_up_verification_delayice_manager/defaults/main.yml` for more details about that.

To Reproduce My vars.yml file looks like this:

# The bare domain name which represents your Matrix identity.
# Matrix user ids for your server will be of the form (`@user:<matrix-domain>`).
#
# Note: this playbook does not touch the server referenced here.
# Installation happens on another server ("matrix.<matrix-domain>").
#
# If you've deployed using the wrong domain, you'll have to run the Uninstalling step,
# because you can't change the Domain after deployment.
#
# Example value: example.com
matrix_domain: bridge.monster

# This is something which is provided to Let's Encrypt when retrieving SSL certificates for domains.
#
# In case SSL renewal fails at some point, you'll also get an email notification there.
#
# If you decide to use another method for managing SSL certifites (different than the default Let's Encrypt),
# you won't be required to define this variable (see `docs/configuring-playbook-ssl-certificates.md`).
#
# Example value: someone@example.com
matrix_ssl_lets_encrypt_support_email: 'reginald.t.marr@gmail.com'

# A shared secret (between Coturn and Synapse) used for authentication.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
matrix_coturn_turn_static_auth_secret: 'SECRET'

matrix_homeserver_implementation: dendrite
matrix_homeserver_generic_secret_key: "SECRET"
# #Enabled public registration
matrix_registration_enabled: true
matrix_registration_admin_secret: "SECRET"
matrix_dendrite_enable_registration: true
matrix_client_element_registration_enabled: true
matrix_dendrite_client_api_enable_registration_captcha: true
matrix_dendrite_client_api_registration_shared_secret: 'SECRET'
matrix_dendrite_client_api_recaptcha_public_key: 'SECRET'
matrix_dendrite_client_api_recaptcha_private_key: 'SECRET'
matrix_dendrite_client_api_recaptcha_siteverify_api: 'https://www.google.com/recaptcha/api/siteverify'

matrix_synapse_enable_registration: true
devture_systemd_service_manager_up_verification_delay_seconds: 20

# A secret used to protect access keys issued by the server.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
# matrix_synapse_macaroon_secret_key: 'SECRET'
# matrix_homeserver_generic_secret_key: "{{ matrix_synapse_macaroon_secret_key }}"

# #Enabled public registration

# A Postgres password to use for the superuser Postgres user (called `matrix` by default).
#
# The playbook creates additional Postgres users and databases (one for each enabled service)
# using this superuser account.
devture_postgres_connection_password: 'SECRET'

matrix_mautrix_whatsapp_enabled: true

matrix_mautrix_signal_enabled: true
matrix_mautrix_signal_relaybot_enabled: true
matrix_mautrix_signal_configuration_extension_yaml: |
  bridge:
    permissions:
      '@reggiemarr:bridge.monster': admin

matrix_mx_puppet_instagram_enabled: false
matrix_mautrix_instagram_enabled: true
matrix_mautrix_instagram_configuration_extension_yaml: |
  bridge:
    permissions:
      '@reggiemarr:bridge.monster': admin

# The easy way. The specified Matrix user ID will be made an admin of all bridges
matrix_admin: "@reggiemarr:{{ matrix_domain }}"

matrix_mautrix_facebook_enabled: true

matrix_mautrix_facebook_configuration_extension_yaml: |
  bridge:
    community_template: "unofficial/facebook_{localpart}={server}"

#for federation

matrix_nginx_proxy_proxy_matrix_nginx_status_enabled: true
matrix_nginx_proxy_base_domain_serving_enabled: true

matrix_playbook_reverse_proxy_type: playbook-managed-traefik

devture_traefik_config_certificatesResolvers_acme_email: "reginald.t.marr@gmail.com"

#Discord
# matrix_mx_puppet_discord_enabled: true
# matrix_mx_puppet_discord_client_id: "SECRET"
# matrix_mx_puppet_discord_client_secret: "SECRET"

# matrix_mx_puppet_discord_configuration_extension_yaml:
#   bridge:
#     enableGroupSync: true

matrix_jitsi_enabled: true

matrix_jitsi_jicofo_auth_password: SECRET
matrix_jitsi_jvb_auth_password: SECRET
matrix_jitsi_jibri_recorder_password: SECRET
matrix_jitsi_jibri_xmpp_password: SECRET

etherpad_enabled: true

# Seems to be not working at the moment, will bring up when possible
# matrix_bot_chatgpt_enabled: true

# # # Obtain a new API key from https://platform.openai.com/account/api-keys
# matrix_bot_chatgpt_openai_api_key: 'SECRET'

# # This is the default username
# matrix_bot_chatgpt_matrix_bot_username_localpart: 'bot.chatgpt'

# # Matrix access token (from bot user above)
# # see: https://webapps.stackexchange.com/questions/131056/how-to-get-an-access-token-for-element-riot-matrix
# matrix_bot_chatgpt_matrix_access_token: 'SECRET'

matrix_mautrix_discord_enabled: true

matrix_bot_maubot_enabled: true
matrix_bot_maubot_admins:
  - bot.maubot: SECRET

Matrix Server:

ReggieMarr commented 1 year ago

Turns out I was missing

matrix_dendrite_client_api_registration_disabled: false

Perhaps this should be added to the docs