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: someone@example.com
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: '' ```
My bad it is now fixed