From f0a78997cb291633bfc8dc47612fed37b442be49 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 13 Aug 2026 07:17:22 +0300 Subject: [PATCH] Use the ig--prefixed container images for mautrix-meta in Instagram mode Since v26.07, Instagram is a separate bridge upstream, with its own binary and its own container image. Both bridges are published to the same image repository, Instagram's under `ig-`-prefixed tags. Both roles kept pointing at the unprefixed image, which now carries only the legacy Instagram code path. That path no longer works against Instagram's current DM protocol, so mautrix-meta-instagram authenticates and does its initial sync, then loops on failed MQTT sync tasks and bridges nothing. The prefix is derived from `meta_mode`, so it also covers a mautrix-meta-messenger role run with `meta_mode: instagram`. Renovate keeps tracking the unprefixed tag for both roles, which is correct: the two images are built from one git tag. The self-build checkout took its git ref by parsing the tag out of the container image reference. That would now ask for a non-existent `ig-` git tag (upstream has none), and it was already wrong for a commit-hash pin, where it asked for `HASH-amd64`. It uses `_version` directly now, like every other role in the playbook does. Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5510 Co-Authored-By: Claude Opus 5 --- .../matrix-bridge-mautrix-meta-instagram/defaults/main.yml | 6 +++++- .../matrix-bridge-mautrix-meta-instagram/tasks/install.yml | 2 +- .../matrix-bridge-mautrix-meta-messenger/defaults/main.yml | 6 +++++- .../matrix-bridge-mautrix-meta-messenger/tasks/install.yml | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index 8c49d7f28..8fc0aada8 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -34,8 +34,12 @@ matrix_bridge_mautrix_meta_instagram_container_image: "{{ matrix_bridge_mautrix_ matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix: "{{ 'localhost/' if matrix_bridge_mautrix_meta_instagram_container_image_self_build else matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix_upstream }}" matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix_upstream: "{{ matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix_upstream_default }}" matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix_upstream_default: "dock.mau.dev/" +# Since v26.07, Instagram is a separate bridge upstream (its own binary and its own container image). +# Both bridges are published to the same container image repository, with Instagram's tags carrying an `ig-` prefix. +# See: https://mau.fi/blog/2026-07-mautrix-release/#new-instagram-bridge +# # Prebuilt container images for specific commit hashes are tagged with an architecture suffix (e.g. `HASH-amd64`). -matrix_bridge_mautrix_meta_instagram_container_image_tag: "{{ matrix_bridge_mautrix_meta_instagram_version }}{{ ('-' ~ matrix_architecture) if (matrix_bridge_mautrix_meta_instagram_version | length == 40) else '' }}" +matrix_bridge_mautrix_meta_instagram_container_image_tag: "{{ 'ig-' if matrix_bridge_mautrix_meta_instagram_meta_mode == 'instagram' else '' }}{{ matrix_bridge_mautrix_meta_instagram_version }}{{ ('-' ~ matrix_architecture) if (matrix_bridge_mautrix_meta_instagram_version | length == 40) else '' }}" matrix_bridge_mautrix_meta_instagram_container_network: "" diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml index b0771c277..342bd1be4 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml @@ -71,7 +71,7 @@ ansible.builtin.git: repo: "{{ matrix_bridge_mautrix_meta_instagram_container_image_self_build_repo }}" dest: "{{ matrix_bridge_mautrix_meta_instagram_container_src_files_path }}" - version: "{{ matrix_bridge_mautrix_meta_instagram_container_image.split(':')[1] }}" + version: "{{ matrix_bridge_mautrix_meta_instagram_version }}" force: "yes" become: true become_user: "{{ matrix_user_name }}" diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml index 81bc808bd..015f6d0ed 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml @@ -34,8 +34,12 @@ matrix_bridge_mautrix_meta_messenger_container_image: "{{ matrix_bridge_mautrix_ matrix_bridge_mautrix_meta_messenger_container_image_registry_prefix: "{{ 'localhost/' if matrix_bridge_mautrix_meta_messenger_container_image_self_build else matrix_bridge_mautrix_meta_messenger_container_image_registry_prefix_upstream }}" matrix_bridge_mautrix_meta_messenger_container_image_registry_prefix_upstream: "{{ matrix_bridge_mautrix_meta_messenger_container_image_registry_prefix_upstream_default }}" matrix_bridge_mautrix_meta_messenger_container_image_registry_prefix_upstream_default: "dock.mau.dev/" +# Since v26.07, Instagram is a separate bridge upstream (its own binary and its own container image). +# Both bridges are published to the same container image repository, with Instagram's tags carrying an `ig-` prefix. +# See: https://mau.fi/blog/2026-07-mautrix-release/#new-instagram-bridge +# # Prebuilt container images for specific commit hashes are tagged with an architecture suffix (e.g. `HASH-amd64`). -matrix_bridge_mautrix_meta_messenger_container_image_tag: "{{ matrix_bridge_mautrix_meta_messenger_version }}{{ ('-' ~ matrix_architecture) if (matrix_bridge_mautrix_meta_messenger_version | length == 40) else '' }}" +matrix_bridge_mautrix_meta_messenger_container_image_tag: "{{ 'ig-' if matrix_bridge_mautrix_meta_messenger_meta_mode == 'instagram' else '' }}{{ matrix_bridge_mautrix_meta_messenger_version }}{{ ('-' ~ matrix_architecture) if (matrix_bridge_mautrix_meta_messenger_version | length == 40) else '' }}" matrix_bridge_mautrix_meta_messenger_container_network: "" diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml index 7186702a4..1f814b84e 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml @@ -71,7 +71,7 @@ ansible.builtin.git: repo: "{{ matrix_bridge_mautrix_meta_messenger_container_image_self_build_repo }}" dest: "{{ matrix_bridge_mautrix_meta_messenger_container_src_files_path }}" - version: "{{ matrix_bridge_mautrix_meta_messenger_container_image.split(':')[1] }}" + version: "{{ matrix_bridge_mautrix_meta_messenger_version }}" force: "yes" become: true become_user: "{{ matrix_user_name }}"