Ladies and gents it is the final frontier.

I am trying to conquer the matrix docker ansible playbook. So far, because of all the knowledge I have gained setting this damn thing up around 4 times now (conduit, dendrite, synapse with sqlite3, conduwuit) things are going swimmingly.

I would say that except for now when I am running the playbook I keep getting this error:

" fatal: [matrix.example.com]: FAILED! => changed=false msg: |- The matrix_homeserver_generic_secret_key variable must be defined and have a non-null and non-empty value.

If you're observing this error on a new installation, you should ensure that the `matrix_homeserver_generic_secret_key` is defined.
If you think you've defined it, but are still getting this error, then it's likely that you have a typo
in your domain name in `inventory/hosts` or in one of the directories leading up to your `inventory/host_vars/matrix.example.com/vars.yml` file.

If you're observing this error on an existing homeserver installation, you can fix it easily and in a backward-compatible way by adding
`matrix_homeserver_generic_secret_key: "{{ matrix_synapse_macaroon_secret_key }}"`
to your `vars.yml` file. Using another secret value for the new variable is also possible and shouldn't cause any trouble.  "

The thing is I do have a secret key and from what I can also tell is the folder structure is also correct.

I mean hell i even changed it back to “matrix.example.com” just for shits and giggles and still nothing.

I have tried putting the playbook in my home directory I even tried the instructions for an existing homeserver and it still pops up.

I am losing my mind!

This is the guide I am following:

https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/quick-start.md

My server is running ubuntu 20.04 and my machine I am running ansible on is running arch.

As always any help is massively appreciated!

EDIT:

These are the file structures I have tried:

I set it up multiple different times in different locations:

/home/inventory/host_vars/matrix.bishbash.com

/home/inventory/hosts

/home/matrix-docker-ansible-deploy/inventory/host_vars/

/Home/matrix-docker-ansible-deploy/inventory/hosts

/desktop/ansible playbook/matrix-docker-ansible-deploy/inventory/host_vars

/desktop/ansible playbook/matrix-docker-ansible-deploy/inventory/hosts

Is is my ansible vars.yml :

# The bare domain name which represents your Matrix identity.
# Matrix user IDs for your server will be of the form (`@alice:example.com`).
#
# Note: this playbook does not touch the server referenced here.
# Installation happens on another server ("matrix.example.com", see `matrix_server_fqn_matrix`).
#
# 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.
matrix_domain: matrix.bishbash.com

# The Matrix homeserver software to install.
# See:
#  - `roles/custom/matrix-base/defaults/main.yml` for valid options
# - the `docs/configuring-playbook-IMPLEMENTATION_NAME.md` documentation page, if one is available for your implementation choice
#
# By default, we use Synapse, because it's the only full-featured Matrix server at the moment.
#
# Note that the homeserver implementation of a server will not be able to be changed without data loss.
matrix_homeserver_implementation: synapse

# A secret used as a base, for generating various other secrets.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
matrix_homeserver_generic_secret_key: 'I_put_my_actual_key_here'

# By default, the playbook manages its own Traefik (https://doc.traefik.io/traefik/) reverse-proxy server.
# It will retrieve SSL certificates for you on-demand and forward requests to all other components.
# For alternatives, see `docs/configuring-playbook-own-webserver.md`.
matrix_playbook_reverse_proxy_type: playbook-managed-traefik

# 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 certificates (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: [email protected]
traefik_config_certificatesResolvers_acme_email: ''

# 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.
postgres_connection_password: 'I_made_a_password_here'

# By default, we configure Coturn's external IP address using the value specified for `ansible_host` in your `inventory/hosts` file.
# If this value is an external IP address, you can skip this section.
#
# If `ansible_host` is not the server's external IP address, you have 2 choices:
# 1. Uncomment the line below, to allow IP address auto-detection to happen (more on this below)
# 2. Uncomment and adjust the line below to specify an IP address manually
#
# By default, auto-detection will be attempted using the `https://ifconfig.co/json` API.
# Default values for this are specified in `matrix_coturn_turn_external_ip_address_auto_detection_*` variables in the Coturn role
# (see `roles/custom/matrix-coturn/defaults/main.yml`).
#
# If your server has multiple IP addresses, you may define them in another variable which allows a list of addresses.
# Example: `matrix_coturn_turn_external_ip_addresses: ['1.2.3.4', '4.5.6.7']`
#
#matrix_coturn_turn_external_ip_address: '' ```
  • Possibly linux@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 days ago

    You keep dumping a of text into the comment section which makes it really hard to help you. You should delete those comments and edit the main post to have more details.

    • ludicolo@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      2 days ago

      My bad I had replied to two people who had asked for it. I didn’t know how to format it so I had fixed it once, but I will delete it and try to add it to the main post.

      EDIT: hopefully that is better to look at!

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        2 days ago

        Thanks

        Are you committed to using this Ansible playbook?

        Docker compose seems like it would be easier.

        I found this guide:

        https://medium.com/@sncr28/deploying-a-matrix-server-with-element-chat-in-docker-compose-with-nginx-reverse-proxy-cc9850fd32f8

        A lot of guides out there are just plain bad. This one is pretty good and the only thing I would complain about is using sudo for docker. You should instead add yourself to the docker group.

        Once you have this up and running you could use Ansible to automate the deployment. Check this out:

        https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_module.html

        • ludicolo@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 day ago

          So I seem to have gotten it up and running with the guide the only issue is It seems really slow (compared to conduit, conduwuit, dendrite and synapse on sqlite). Also when I pick up calls on element x on graphene os I cannot hear the other user (this is on the same network both devices running graphene I did configure my coturn server but didn’t try out of network calls.). When I was trying to sign up it would error on me. In order to bypass the error I just kept clicking sign up/sign in and it worked on the second or 3rd try. Device verification seems to work but you have to be really slow about working through the steps.

          Any ideas on how to fix this?

        • ludicolo@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 days ago

          I am not dead set on using ansible that is just the top recommendation I was recieving purely based off of how much documentation there is for it. That and iy sets up element chat for you which is what I really needed.also a postgres database. This seems a lot closer to my tempo and I will totally try to get it running! Thank you!