Files
computer-playbook/roles/web-app-nextcloud/tasks/addons/integration_mattermost.yml
kevinveenbirkenbachandClaude Opus 4.8 d2cea2dec3 fix(nextcloud): reach mattermost via DOCKER_REACH_HOST, not localhost
On the DinD swarm nodes glibc resolves localhost to ::1 first and the IPv6 connect to the ingress-published port hangs until timeout, so the mattermost HTTP gate burned 30 attempts while 127.0.0.1 through the ingress DNAT answers fine (measured on an identically shaped node). Point nextcloud_mm_local_url at DOCKER_REACH_HOST, the repo's established reach pattern (gitea, shopware, nextcloud's own config wait), which the DinD nodes override to the bridge gateway; compose keeps 127.0.0.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 23:22:48 +02:00

18 lines
1017 B
YAML

---
# Generic config sets only `url`; the OAuth connect flow additionally needs the
# admin keys oauth_instance_url/client_id/client_secret, which only exist once an
# OAuth app is registered on Mattermost. This hook provisions that app on the
# partner and wires the returned credentials into Nextcloud.
- name: 🔍 Resolve Mattermost partner coupling facts
set_fact:
nextcloud_mm_base_url: "{{ lookup('tls', 'web-app-mattermost', 'url.base') }}"
nextcloud_mm_local_url: "http://{{ DOCKER_REACH_HOST }}:{{ lookup('config', 'web-app-mattermost', 'services.mattermost.ports.local.http') }}"
nextcloud_mm_redirect_path: "/apps/integration_mattermost/oauth-redirect"
nextcloud_mm_exec_chdir: "{{ lookup('container', 'web-app-mattermost', 'directories.instance') if DEPLOYMENT_MODE == 'compose' else omit }}"
changed_when: false
- name: 🔧 Provision the bidirectional Mattermost <-> Nextcloud OAuth coupling
include_tasks: integration_mattermost_provision.yml
when:
- IS_STACK_HOST | bool