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.81k stars 1.04k forks source link

custom/matrix_playbook_migration : ansible.builtin.include_tasks fails, but no stdout/stderr to determine problem #2406

Closed LivInTheLookingGlass closed 1 year ago

LivInTheLookingGlass commented 1 year ago

Playbook Configuration:

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: oliviaappleton.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
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: [redacted]

matrix_synapse_ext_password_provider_shared_secret_auth_enabled: true
matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret: [redacted]

# 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: [redacted]

# Do not retrieve SSL certificates. This shall be managed by another webserver or other means.
matrix_ssl_retrieval_method: none

# Do not try to serve HTTPS, since we have no SSL certificates.
# Disabling this also means services will be served on the HTTP port
# (`matrix_nginx_proxy_container_http_host_bind_port`).
matrix_nginx_proxy_https_enabled: false

# Do not listen for HTTP on port 80 globally (default), listen on the loopback interface.
# If you'd like, you can make it use the local network as well and reverse-proxy from another local machine.
matrix_nginx_proxy_container_http_host_bind_port: '127.0.0.1:81'

# Likewise, expose the Matrix Federation port on the loopback interface.
# Since `matrix_nginx_proxy_https_enabled` is set to `false`, this federation port will serve HTTP traffic.
# If you'd like, you can make it use the local network as well and reverse-proxy from another local machine.
#
# You'd most likely need to expose it publicly on port 8448 (8449 was chosen for the local port to prevent overlap).
matrix_nginx_proxy_container_federation_host_bind_port: '127.0.0.1:8449'

# Trust the reverse proxy to send the correct `X-Forwarded-Proto` header as it is handling the SSL connection.
matrix_nginx_proxy_trust_forwarded_proto: true

# Trust and use the other reverse proxy's `X-Forwarded-For` header.
matrix_nginx_proxy_x_forwarded_for: '$proxy_add_x_forwarded_for'

matrix_synapse_workers_enabled: true

# Since we don't obtain any certificates (`matrix_ssl_retrieval_method: none` above), it won't work by default.
# An alternative is to tweak some of: `matrix_coturn_tls_enabled`, `matrix_coturn_tls_cert_path` and `matrix_coturn_tls_key_path`.
#matrix_coturn_enabled: false
matrix_coturn_tls_cert_path: [redacted]
matrix_coturn_tls_key_path: [redacted]
matrix_coturn_turn_external_ip_address: oliviaappleton.com

matrix_ma1sd_enabled: true

matrix_synapse_admin_enabled: true

matrix_mautrix_discord_enabled: true

matrix_mautrix_telegram_enabled: true
matrix_mautrix_telegram_api_id: [redacted]
matrix_mautrix_telegram_api_hash: [redacted]

matrix_mautrix_facebook_enabled: true
matrix_mautrix_facebook_configuration_extension_yaml: |
  bridge:
    permissions:
      '@Liv:{{ matrix_domain }}': admin
    encryption:
      allow: true
      default: true

matrix_mautrix_signal_enabled: true
matrix_mautrix_signal_relaybot_enabled: true

matrix_mautrix_slack_enabled: true

matrix_beeper_linkedin_enabled: true

matrix_mx_puppet_groupme_enabled: true

matrix_mx_puppet_steam_enabled: true

matrix_go_skype_bridge_enabled: true

matrix_heisenbridge_enabled: true

# set owner (optional)
matrix_heisenbridge_owner: '@liv:{{ matrix_domain }}'

# to enable identd on host port 113/TCP (optional)
matrix_heisenbridge_identd_enabled: true

matrix_bot_chatgpt_enabled: true

# See instructions on
# https://www.npmjs.com/package/chatgpt
matrix_bot_chatgpt_openai_email: [redacted]
matrix_bot_chatgpt_openai_password: [redacted]
matrix_bot_chatgpt_openai_login_type: email

# 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: ''

matrix_bot_chatgpt_admins:
- @liv:{{ matrix_domain}}

matrix_bot_matrix_reminder_bot_enabled: true

# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_matrix_reminder_bot_matrix_user_id_localpart: bot.matrix-reminder-bot

# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
matrix_bot_matrix_reminder_bot_matrix_user_password: [redacted]

# Adjust this to your timezone
matrix_bot_matrix_reminder_bot_reminders_timezone: 'US/Detroit'

matrix_bot_maubot_enabled: true
matrix_bot_maubot_admins:
  - yourusername: 'Liv:{{ matrix_domain }}'

matrix_backup_borg_enabled: true
matrix_backup_borg_encryption: 'none'
matrix_backup_borg_location_repositories:
 - [redacted]
matrix_backup_borg_ssh_key_private: |
  [redacted]

matrix_backup_borg_retention_keep_hourly: 4
matrix_backup_borg_retention_keep_daily: 8
matrix_backup_borg_retention_keep_weekly: 10
matrix_backup_borg_retention_keep_monthly: 12
matrix_backup_borg_retention_keep_yearly: 5

# Enabling it is the only required setting
matrix_ntfy_enabled: true

matrix_prometheus_enabled: true

# You can remove this, if unnecessary.
matrix_prometheus_node_exporter_enabled: true

# You can remove this, if unnecessary.
matrix_prometheus_postgres_exporter_enabled: true

# You can remove this, if unnecessary.
matrix_prometheus_nginxlog_exporter_enabled: true

matrix_grafana_enabled: true

matrix_grafana_anonymous_access: false

# This has no relation to your Matrix user id. It can be any username you'd like.
# Changing the username subsequently won't work.
matrix_grafana_default_admin_user: [redacted]

# Changing the password subsequently won't work.
matrix_grafana_default_admin_password: [redacted]

matrix_etherpad_enabled: true

# Uncomment below to enable the admin web UI
matrix_etherpad_admin_username: [redacted]
matrix_etherpad_admin_password: [redacted]

Matrix Server:

Ansible: If your problem appears to be with Ansible, tell us:

Problem description:

I run the install commend (ansible-playbook -K -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start), and get the following output

BECOME password: 

PLAY [Set up a Matrix server] ******************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************
ok: [matrix.oliviaappleton]

TASK [custom/matrix_playbook_migration : ansible.builtin.include_tasks] ************************************************************************************
fatal: [matrix.oliviaappleton]: FAILED! => changed=false 
  module_stderr: ''
  module_stdout: ''
  msg: |-
    MODULE FAILURE
    See stdout/stderr for the exact error
  rc: 0

PLAY RECAP *************************************************************************************************************************************************
matrix.oliviaappleton      : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0 
spantaleev commented 1 year ago

Try upgrading Ansible, perhaps

LivInTheLookingGlass commented 1 year ago

These are both the latest version on my distro, so I'd assumed they were good. That's on me, because on reread it's documented pretty well that I should've used pypi. Thanks for the help

nukeop commented 1 year ago

I'm getting the same exact problem after a playbook update. How did you solve it?