mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-09-19 22:30:09 +00:00
Decouple mautrix-meta-instagram from mautrix-meta-messenger and fix Instagram self-building
Since mautrix-meta v26.07, Instagram is a separate bridge upstream (its own binary, container image and configuration schema). As of v0.2608.0, the bridge no longer has a `mode` configuration option at all, so the premise of auto-generating the Instagram role from the Messenger one (one binary, one schema, a mode switch) is gone. - Drop the role generator (`bin/rebuild-mautrix-meta-instagram.sh` and the `just rebuild-mautrix-meta-instagram` recipe). The two roles are now maintained independently. - Drop `matrix_bridge_mautrix_meta_instagram_meta_mode` and all mode-derived lookups from the Instagram role. Computed values are unchanged. - Sync both config templates with the v0.2608.0 example configs: the Instagram template loses `mode` and gains the Instagram-only options; the Messenger template replaces `mode` with the new `tor` option (still derived from `matrix_bridge_mautrix_meta_messenger_meta_mode: facebook-tor`) and loses the Instagram-only `disable_xma_*` options. - Fix self-building for the Instagram role: build via `Dockerfile.ig` (producing the actual Instagram binary at `/usr/bin/mautrix-instagram`) instead of the Messenger `Dockerfile`. A new `matrix_bridge_mautrix_meta_instagram_container_binary_path` variable points the systemd service at the right binary for self-built and prebuilt images. - Rename the systemd service templates to role-specific file names. Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5510 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
216995dc91
commit
94bccec1ef
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
[codespell]
|
[codespell]
|
||||||
ignore-words-list = aNULL,brose,doub,Udo,re-use,re-used,registr,shema,commet,Commet
|
ignore-words-list = aNULL,brose,doub,Udo,re-use,re-used,registr,shema,commet,Commet,Bloks
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2024 Slavi Pantaleev
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
set -euxo pipefail
|
|
||||||
|
|
||||||
# This script rebuilds the mautrix-meta-instagram Ansible role, using the mautrix-meta-messenger role as a source.
|
|
||||||
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
echo "Error: No argument supplied. Please provide the path to the roles/custom directory."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
roles_path=$1
|
|
||||||
|
|
||||||
messenger_role_path=$roles_path/matrix-bridge-mautrix-meta-messenger
|
|
||||||
instagram_role_path=$roles_path/matrix-bridge-mautrix-meta-instagram
|
|
||||||
|
|
||||||
if [ ! -d $messenger_role_path ]; then
|
|
||||||
echo "Cannot find: $messenger_role_path"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d $instagram_role_path ]; then
|
|
||||||
rm -rf $instagram_role_path
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -ar $messenger_role_path $instagram_role_path
|
|
||||||
|
|
||||||
find "$instagram_role_path" -type f | while read -r file; do
|
|
||||||
sed --in-place 's/matrix_bridge_mautrix_meta_messenger_/matrix_bridge_mautrix_meta_instagram_/g' "$file"
|
|
||||||
sed --in-place 's/mautrix-meta-messenger/mautrix-meta-instagram/g' "$file"
|
|
||||||
done
|
|
||||||
|
|
||||||
sed --in-place 's/matrix_bridge_mautrix_meta_instagram_meta_mode: \(.*\)/matrix_bridge_mautrix_meta_instagram_meta_mode: instagram/g' $instagram_role_path/defaults/main.yml
|
|
||||||
sed --in-place 's/matrix_bridge_mautrix_meta_instagram_identifier: \(.*\)/matrix_bridge_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram/g' $instagram_role_path/defaults/main.yml
|
|
||||||
|
|
||||||
# Create the README.md file with the license header
|
|
||||||
cat > $instagram_role_path/README.md << 'EOF'
|
|
||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: 2024 - 2025 MDAD Contributors
|
|
||||||
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
-->
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo "" >> $instagram_role_path/README.md
|
|
||||||
echo "# matrix-mautrix-meta-instagram" >> $instagram_role_path/README.md
|
|
||||||
echo "" >> $instagram_role_path/README.md
|
|
||||||
echo "This bridge role is derived from the matrix-mautrix-meta-messenger Ansible role via automatic changes (see \`just rebuild-mautrix-meta-instagram\` or \`bin/rebuild-mautrix-meta-instagram.sh\`)." >> $instagram_role_path/README.md
|
|
||||||
echo "" >> $instagram_role_path/README.md
|
|
||||||
echo "If you'd like to make a change to this role, consider making it to the \`matrix-mautrix-meta-messenger\` role instead." >> $instagram_role_path/README.md
|
|
||||||
@@ -13,7 +13,7 @@ The playbook can install and configure the [mautrix-meta](https://github.com/mau
|
|||||||
|
|
||||||
See the project's [documentation](https://docs.mau.fi/bridges/go/meta/index.html) to learn what it does and why it might be useful to you.
|
See the project's [documentation](https://docs.mau.fi/bridges/go/meta/index.html) to learn what it does and why it might be useful to you.
|
||||||
|
|
||||||
Since this bridge component can bridge to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) and you may wish to do both at the same time, the playbook makes it available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`). The latter is a reconfigured copy of the first one (created by `just rebuild-mautrix-meta-instagram` and `bin/rebuild-mautrix-meta-instagram.sh`).
|
The mautrix-meta project provides bridging to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/), each via a separate bridge (its own binary and container image) since mautrix-meta v26.07. The playbook makes them available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`), which can both be enabled at the same time.
|
||||||
|
|
||||||
This documentation page only deals with the bridge's ability to bridge to Instagram. For bridging to Facebook/Messenger, see [Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md).
|
This documentation page only deals with the bridge's ability to bridge to Instagram. For bridging to Facebook/Messenger, see [Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md).
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ The playbook can install and configure the [mautrix-meta](https://github.com/mau
|
|||||||
|
|
||||||
See the project's [documentation](https://docs.mau.fi/bridges/go/meta/index.html) to learn what it does and why it might be useful to you.
|
See the project's [documentation](https://docs.mau.fi/bridges/go/meta/index.html) to learn what it does and why it might be useful to you.
|
||||||
|
|
||||||
Since this bridge component can bridge to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) and you may wish to do both at the same time, the playbook makes it available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`). The latter is a reconfigured copy of the first one (created by `just rebuild-mautrix-meta-instagram` and `bin/rebuild-mautrix-meta-instagram.sh`).
|
The mautrix-meta project provides bridging to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/), each via a separate bridge (its own binary and container image) since mautrix-meta v26.07. The playbook makes them available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`), which can both be enabled at the same time.
|
||||||
|
|
||||||
This documentation page only deals with the bridge's ability to bridge to Facebook Messenger. For bridging to Instagram, see [Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md).
|
This documentation page only deals with the bridge's ability to bridge to Facebook Messenger. For bridging to Instagram, see [Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md).
|
||||||
|
|
||||||
|
|||||||
@@ -120,10 +120,6 @@ stop-all *extra_args: (run-tags "stop-all" extra_args)
|
|||||||
stop-group group *extra_args:
|
stop-group group *extra_args:
|
||||||
@{{ just_executable() }} --justfile "{{ justfile() }}" run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }}
|
@{{ just_executable() }} --justfile "{{ justfile() }}" run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }}
|
||||||
|
|
||||||
# Rebuilds the mautrix-meta-instagram Ansible role using the mautrix-meta-messenger role as a source
|
|
||||||
rebuild-mautrix-meta-instagram:
|
|
||||||
/bin/bash "{{ justfile_directory() }}/bin/rebuild-mautrix-meta-instagram.sh" "{{ justfile_directory() }}/roles/custom"
|
|
||||||
|
|
||||||
# Internal - ensures var/mise and var/prek directories exist
|
# Internal - ensures var/mise and var/prek directories exist
|
||||||
_ensure_mise_data_directory:
|
_ensure_mise_data_directory:
|
||||||
@mkdir -p "{{ mise_data_dir }}"
|
@mkdir -p "{{ mise_data_dir }}"
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
<!--
|
<!--
|
||||||
SPDX-FileCopyrightText: 2024 - 2025 MDAD Contributors
|
SPDX-FileCopyrightText: 2024 - 2026 MDAD Contributors
|
||||||
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
-->
|
-->
|
||||||
|
|
||||||
# matrix-mautrix-meta-instagram
|
# matrix-mautrix-meta-instagram
|
||||||
|
|
||||||
This bridge role is derived from the matrix-mautrix-meta-messenger Ansible role via automatic changes (see `just rebuild-mautrix-meta-instagram` or `bin/rebuild-mautrix-meta-instagram.sh`).
|
This role installs the Instagram bridge developed in the [mautrix-meta](https://github.com/mautrix/meta) repository.
|
||||||
|
|
||||||
If you'd like to make a change to this role, consider making it to the `matrix-mautrix-meta-messenger` role instead.
|
This role used to be auto-generated from the `matrix-bridge-mautrix-meta-messenger` role, back when a single mautrix-meta binary served both Messenger and Instagram depending on a `mode` configuration setting.
|
||||||
|
Since mautrix-meta v26.07, Instagram is a separate binary with its own container image (`ig-` prefixed tags) and its own configuration schema, so the two roles are maintained independently.
|
||||||
|
|||||||
@@ -7,13 +7,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# mautrix-meta is a Matrix <-> Facebook/Messenger/Instagram bridge
|
# mautrix-instagram is a Matrix <-> Instagram bridge
|
||||||
# Project source code URL: https://github.com/mautrix/meta
|
# Project source code URL: https://github.com/mautrix/meta
|
||||||
#
|
#
|
||||||
# WARNING: this bridge role is used for both Messenger and Instagram.
|
# Since v26.07, upstream develops the Instagram bridge in the mautrix-meta repository, but ships it as a separate binary and a separate container image (with `ig-` prefixed tags).
|
||||||
# This Messenger role acts as a source and auto-generates matrix-bridge-mautrix-meta-instagram
|
# The Messenger side of mautrix-meta is covered by the matrix-bridge-mautrix-meta-messenger role.
|
||||||
# thanks to `just rebuild-mautrix-meta-instagram` (`bin/rebuild-mautrix-meta-instagram.sh`).
|
|
||||||
# If you'd like to make changes to the Instagram role, consider making your changes to the Messenger role instead.
|
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_enabled: true
|
matrix_bridge_mautrix_meta_instagram_enabled: true
|
||||||
|
|
||||||
@@ -30,6 +28,11 @@ matrix_bridge_mautrix_meta_instagram_container_src_files_path: "{{ matrix_bridge
|
|||||||
matrix_bridge_mautrix_meta_instagram_container_image_self_build: false
|
matrix_bridge_mautrix_meta_instagram_container_image_self_build: false
|
||||||
matrix_bridge_mautrix_meta_instagram_container_image_self_build_repo: "https://github.com/mautrix/meta.git"
|
matrix_bridge_mautrix_meta_instagram_container_image_self_build_repo: "https://github.com/mautrix/meta.git"
|
||||||
|
|
||||||
|
# The path to the bridge binary inside the container image.
|
||||||
|
# The prebuilt image is built by upstream's CI, whose Dockerfile copies the Instagram binary to a fixed `/usr/bin/mautrix-meta` destination.
|
||||||
|
# Self-building uses the `Dockerfile.ig` file from the source tree, which produces `/usr/bin/mautrix-instagram`.
|
||||||
|
matrix_bridge_mautrix_meta_instagram_container_binary_path: "{{ '/usr/bin/mautrix-instagram' if matrix_bridge_mautrix_meta_instagram_container_image_self_build else '/usr/bin/mautrix-meta' }}"
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_container_image: "{{ matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix }}mautrix/meta:{{ matrix_bridge_mautrix_meta_instagram_container_image_tag }}"
|
matrix_bridge_mautrix_meta_instagram_container_image: "{{ matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix }}mautrix/meta:{{ matrix_bridge_mautrix_meta_instagram_container_image_tag }}"
|
||||||
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: "{{ '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: "{{ matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix_upstream_default }}"
|
||||||
@@ -39,7 +42,7 @@ matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix_upstream_de
|
|||||||
# See: https://mau.fi/blog/2026-07-mautrix-release/#new-instagram-bridge
|
# 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`).
|
# 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: "{{ '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_image_tag: "ig-{{ 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: ""
|
matrix_bridge_mautrix_meta_instagram_container_network: ""
|
||||||
|
|
||||||
@@ -97,21 +100,11 @@ matrix_bridge_mautrix_meta_instagram_database_engine: sqlite3-fk-wal
|
|||||||
matrix_bridge_mautrix_meta_instagram_sqlite_database_path_local: "{{ matrix_bridge_mautrix_meta_instagram_data_path }}/mautrix-meta.db"
|
matrix_bridge_mautrix_meta_instagram_sqlite_database_path_local: "{{ matrix_bridge_mautrix_meta_instagram_data_path }}/mautrix-meta.db"
|
||||||
matrix_bridge_mautrix_meta_instagram_sqlite_database_path_in_container: "/data/mautrix-meta.db"
|
matrix_bridge_mautrix_meta_instagram_sqlite_database_path_in_container: "/data/mautrix-meta.db"
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_database_suffix: |-
|
matrix_bridge_mautrix_meta_instagram_database_username: matrix_mautrix_meta_instagram
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': '_facebook',
|
|
||||||
'facebook-tor': '_facebook',
|
|
||||||
'messenger': '_messenger',
|
|
||||||
'instagram': '_instagram',
|
|
||||||
})[matrix_bridge_mautrix_meta_instagram_meta_mode]
|
|
||||||
}}
|
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_database_username: "matrix_mautrix_meta{{ matrix_bridge_mautrix_meta_instagram_database_suffix }}"
|
|
||||||
matrix_bridge_mautrix_meta_instagram_database_password: ''
|
matrix_bridge_mautrix_meta_instagram_database_password: ''
|
||||||
matrix_bridge_mautrix_meta_instagram_database_hostname: ''
|
matrix_bridge_mautrix_meta_instagram_database_hostname: ''
|
||||||
matrix_bridge_mautrix_meta_instagram_database_port: 5432
|
matrix_bridge_mautrix_meta_instagram_database_port: 5432
|
||||||
matrix_bridge_mautrix_meta_instagram_database_name: "matrix_mautrix_meta{{ matrix_bridge_mautrix_meta_instagram_database_suffix }}"
|
matrix_bridge_mautrix_meta_instagram_database_name: matrix_mautrix_meta_instagram
|
||||||
matrix_bridge_mautrix_meta_instagram_database_sslmode: disable
|
matrix_bridge_mautrix_meta_instagram_database_sslmode: disable
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_database_connection_string: 'postgres://{{ matrix_bridge_mautrix_meta_instagram_database_username }}:{{ matrix_bridge_mautrix_meta_instagram_database_password }}@{{ matrix_bridge_mautrix_meta_instagram_database_hostname }}:{{ matrix_bridge_mautrix_meta_instagram_database_port }}/{{ matrix_bridge_mautrix_meta_instagram_database_name }}?sslmode={{ matrix_bridge_mautrix_meta_instagram_database_sslmode }}'
|
matrix_bridge_mautrix_meta_instagram_database_connection_string: 'postgres://{{ matrix_bridge_mautrix_meta_instagram_database_username }}:{{ matrix_bridge_mautrix_meta_instagram_database_password }}@{{ matrix_bridge_mautrix_meta_instagram_database_hostname }}:{{ matrix_bridge_mautrix_meta_instagram_database_port }}/{{ matrix_bridge_mautrix_meta_instagram_database_name }}?sslmode={{ matrix_bridge_mautrix_meta_instagram_database_sslmode }}'
|
||||||
@@ -132,28 +125,14 @@ matrix_bridge_mautrix_meta_instagram_scheme: https
|
|||||||
# Used for the provisioning API's external-server (OpenID) flow and for public media links.
|
# Used for the provisioning API's external-server (OpenID) flow and for public media links.
|
||||||
matrix_bridge_mautrix_meta_instagram_bridge_public_address: "{{ (matrix_bridge_mautrix_meta_instagram_scheme + '://' + matrix_bridge_mautrix_meta_instagram_exposure_hostname + matrix_bridge_mautrix_meta_instagram_exposure_path_prefix) if matrix_bridge_mautrix_meta_instagram_exposure_enabled else '' }}"
|
matrix_bridge_mautrix_meta_instagram_bridge_public_address: "{{ (matrix_bridge_mautrix_meta_instagram_scheme + '://' + matrix_bridge_mautrix_meta_instagram_exposure_hostname + matrix_bridge_mautrix_meta_instagram_exposure_path_prefix) if matrix_bridge_mautrix_meta_instagram_exposure_enabled else '' }}"
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_appservice_id: "{{ matrix_bridge_mautrix_meta_instagram_meta_mode }}"
|
matrix_bridge_mautrix_meta_instagram_appservice_id: instagram
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
matrix_bridge_mautrix_meta_instagram_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
matrix_bridge_mautrix_meta_instagram_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}"
|
matrix_bridge_mautrix_meta_instagram_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}"
|
||||||
|
|
||||||
# For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons:
|
matrix_bridge_mautrix_meta_instagram_appservice_username: instagrambot
|
||||||
# - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger
|
matrix_bridge_mautrix_meta_instagram_appservice_displayname: Instagram bridge bot
|
||||||
# - it's easy for users - you may change the mode, but the bot is always at `@messengerbot:example.com`
|
matrix_bridge_mautrix_meta_instagram_appservice_avatar: mxc://maunium.net/JxjlbZUlCPULEeHZSwleUXQv
|
||||||
# - it doesn't conflict with mautrix-facebook which uses `@facebookbot:example.com`
|
|
||||||
# - `matrix_bridge_mautrix_meta_instagram_appservice_avatar` only has icons for Messenger and Instagram, not Facebook
|
|
||||||
matrix_bridge_mautrix_meta_instagram_appservice_username_prefix: |-
|
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': 'messenger',
|
|
||||||
'facebook-tor': 'messenger',
|
|
||||||
'messenger': 'messenger',
|
|
||||||
'instagram': 'instagram',
|
|
||||||
})[matrix_bridge_mautrix_meta_instagram_meta_mode]
|
|
||||||
}}
|
|
||||||
matrix_bridge_mautrix_meta_instagram_appservice_username: "{{ matrix_bridge_mautrix_meta_instagram_appservice_username_prefix }}bot"
|
|
||||||
matrix_bridge_mautrix_meta_instagram_appservice_displayname: "{{ matrix_bridge_mautrix_meta_instagram_meta_mode | capitalize }} bridge bot"
|
|
||||||
matrix_bridge_mautrix_meta_instagram_appservice_avatar: "{{ 'mxc://maunium.net/JxjlbZUlCPULEeHZSwleUXQv' if matrix_bridge_mautrix_meta_instagram_meta_mode == 'instagram' else 'mxc://maunium.net/ygtkteZsXnGJLJHRchUwYWak' }}"
|
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_appservice_database_type: "{{ matrix_bridge_mautrix_meta_instagram_database_engine }}"
|
matrix_bridge_mautrix_meta_instagram_appservice_database_type: "{{ matrix_bridge_mautrix_meta_instagram_database_engine }}"
|
||||||
|
|
||||||
@@ -167,15 +146,6 @@ matrix_bridge_mautrix_meta_instagram_appservice_database_uri: |-
|
|||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_appservice_token: ''
|
matrix_bridge_mautrix_meta_instagram_appservice_token: ''
|
||||||
|
|
||||||
# Controls which service this bridge is for.
|
|
||||||
# Valid options:
|
|
||||||
# * facebook - connect to FB Messenger via facebook.com
|
|
||||||
# * facebook-tor - connect to FB Messenger via facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion
|
|
||||||
# (note: does not currently proxy media downloads)
|
|
||||||
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
|
||||||
# * instagram - connect to Instagram DMs via instagram.com
|
|
||||||
matrix_bridge_mautrix_meta_instagram_meta_mode: instagram
|
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_provisioning_shared_secret: disable
|
matrix_bridge_mautrix_meta_instagram_provisioning_shared_secret: disable
|
||||||
|
|
||||||
# Controls whether mautrix-meta-instagram's HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login).
|
# Controls whether mautrix-meta-instagram's HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login).
|
||||||
@@ -183,43 +153,19 @@ matrix_bridge_mautrix_meta_instagram_exposure_enabled: false
|
|||||||
matrix_bridge_mautrix_meta_instagram_exposure_hostname: ''
|
matrix_bridge_mautrix_meta_instagram_exposure_hostname: ''
|
||||||
matrix_bridge_mautrix_meta_instagram_exposure_path_prefix: ''
|
matrix_bridge_mautrix_meta_instagram_exposure_path_prefix: ''
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_bridge_username_prefix: |-
|
matrix_bridge_mautrix_meta_instagram_bridge_username_prefix: instagram_
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': 'facebook_',
|
|
||||||
'facebook-tor': 'facebook_',
|
|
||||||
'messenger': 'messenger_',
|
|
||||||
'instagram': 'instagram_',
|
|
||||||
})[matrix_bridge_mautrix_meta_instagram_meta_mode]
|
|
||||||
}}
|
|
||||||
|
|
||||||
# Localpart template of MXIDs for FB/IG users.
|
# Localpart template of MXIDs for IG users.
|
||||||
# {{.}} is replaced with the internal ID of the FB/IG user.
|
# {{.}} is replaced with the internal ID of the FB/IG user.
|
||||||
# Changing this may require that you change the regex in the appservice.
|
# Changing this may require that you change the regex in the appservice.
|
||||||
matrix_bridge_mautrix_meta_instagram_bridge_username_template: "{{ matrix_bridge_mautrix_meta_instagram_bridge_username_prefix + '{{.}}' }}"
|
matrix_bridge_mautrix_meta_instagram_bridge_username_template: "{{ matrix_bridge_mautrix_meta_instagram_bridge_username_prefix + '{{.}}' }}"
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_bridge_displayname_suffix: |-
|
matrix_bridge_mautrix_meta_instagram_bridge_displayname_suffix: '(IG)'
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': '(FB)',
|
|
||||||
'facebook-tor': '(FB)',
|
|
||||||
'messenger': '(FB)',
|
|
||||||
'instagram': '(IG)',
|
|
||||||
})[matrix_bridge_mautrix_meta_instagram_meta_mode]
|
|
||||||
}}
|
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_instagram_bridge_displayname_template: '{% raw %}{{or .DisplayName .Username "Unknown user"}}{% endraw %}{{ (" " ~ matrix_bridge_mautrix_meta_instagram_bridge_displayname_suffix) if matrix_bridge_mautrix_meta_instagram_bridge_displayname_suffix else "" }}'
|
matrix_bridge_mautrix_meta_instagram_bridge_displayname_template: '{% raw %}{{or .DisplayName .Username "Unknown user"}}{% endraw %}{{ (" " ~ matrix_bridge_mautrix_meta_instagram_bridge_displayname_suffix) if matrix_bridge_mautrix_meta_instagram_bridge_displayname_suffix else "" }}'
|
||||||
|
|
||||||
# The prefix for commands. Only required in non-management rooms.
|
# The prefix for commands. Only required in non-management rooms.
|
||||||
matrix_bridge_mautrix_meta_instagram_bridge_command_prefix: |-
|
matrix_bridge_mautrix_meta_instagram_bridge_command_prefix: '!ig'
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': '!fb',
|
|
||||||
'facebook-tor': '!fb',
|
|
||||||
'messenger': '!fb',
|
|
||||||
'instagram': '!ig',
|
|
||||||
})[matrix_bridge_mautrix_meta_instagram_meta_mode]
|
|
||||||
}}
|
|
||||||
|
|
||||||
# Whether or not created rooms should have federation enabled.
|
# Whether or not created rooms should have federation enabled.
|
||||||
# If false, created portal rooms will never be federated.
|
# If false, created portal rooms will never be federated.
|
||||||
|
|||||||
@@ -80,7 +80,7 @@
|
|||||||
- name: Ensure mautrix-meta-instagram container image is built
|
- name: Ensure mautrix-meta-instagram container image is built
|
||||||
community.docker.docker_image_build:
|
community.docker.docker_image_build:
|
||||||
name: "{{ matrix_bridge_mautrix_meta_instagram_container_image }}"
|
name: "{{ matrix_bridge_mautrix_meta_instagram_container_image }}"
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile.ig
|
||||||
path: "{{ matrix_bridge_mautrix_meta_instagram_container_src_files_path }}"
|
path: "{{ matrix_bridge_mautrix_meta_instagram_container_src_files_path }}"
|
||||||
pull: true
|
pull: true
|
||||||
rebuild: "{{ 'always' if matrix_bridge_mautrix_meta_instagram_git_pull_results.changed | bool else 'never' }}"
|
rebuild: "{{ 'always' if matrix_bridge_mautrix_meta_instagram_git_pull_results.changed | bool else 'never' }}"
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
|
|
||||||
- name: Ensure mautrix-meta-instagram.service installed
|
- name: Ensure mautrix-meta-instagram.service installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/systemd/matrix-mautrix-meta.service.j2"
|
src: "{{ role_path }}/templates/systemd/matrix-mautrix-meta-instagram.service.j2"
|
||||||
dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_bridge_mautrix_meta_instagram_identifier }}.service"
|
dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_bridge_mautrix_meta_instagram_identifier }}.service"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
register: matrix_bridge_mautrix_meta_instagram_systemd_service_result
|
register: matrix_bridge_mautrix_meta_instagram_systemd_service_result
|
||||||
|
|||||||
@@ -43,3 +43,6 @@
|
|||||||
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_enabled', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
|
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_enabled', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
|
||||||
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_users', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
|
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_users', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
|
||||||
- {'old': 'matrix_bridge_mautrix_meta_instagram_meta_ig_e2ee', 'new': '<removed> (mautrix-meta no longer has an `ig_e2ee` configuration option)'}
|
- {'old': 'matrix_bridge_mautrix_meta_instagram_meta_ig_e2ee', 'new': '<removed> (mautrix-meta no longer has an `ig_e2ee` configuration option)'}
|
||||||
|
- {'old': 'matrix_bridge_mautrix_meta_instagram_meta_mode', 'new': '<removed> (since v0.2608.0, upstream ships Instagram as a separate bridge without a `mode` configuration option)'}
|
||||||
|
- {'old': 'matrix_bridge_mautrix_meta_instagram_appservice_username_prefix', 'new': '<superseded by matrix_bridge_mautrix_meta_instagram_appservice_username>'}
|
||||||
|
- {'old': 'matrix_bridge_mautrix_meta_instagram_database_suffix', 'new': '<removed> (the database name is controlled directly by matrix_bridge_mautrix_meta_instagram_database_name)'}
|
||||||
|
|||||||
@@ -1,36 +1,42 @@
|
|||||||
#jinja2: lstrip_blocks: True
|
#jinja2: lstrip_blocks: True
|
||||||
# Network-specific config options
|
# Network-specific config options
|
||||||
network:
|
network:
|
||||||
# Which service is this bridge for? Available options:
|
# Displayname template for IG users. Available variables:
|
||||||
# * unset - allow users to pick any service when logging in (except facebook-tor)
|
|
||||||
# * facebook - connect to FB Messenger via facebook.com
|
|
||||||
# * facebook-tor - connect to FB Messenger via facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion
|
|
||||||
# (note: does not currently proxy media downloads)
|
|
||||||
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
|
||||||
# * instagram - connect to Instagram DMs via instagram.com
|
|
||||||
#
|
|
||||||
# Remember to change the appservice ID, bot profile info, bridge username_template and management_room_text too.
|
|
||||||
mode: {{ matrix_bridge_mautrix_meta_instagram_meta_mode | to_json }}
|
|
||||||
|
|
||||||
# Displayname template for FB/IG users. Available variables:
|
|
||||||
# .DisplayName - The display name set by the user.
|
# .DisplayName - The display name set by the user.
|
||||||
# .Username - The username set by the user.
|
# .Username - The username set by the user.
|
||||||
# .ID - The internal user ID of the user.
|
# .ID - The internal user ID of the user.
|
||||||
displayname_template: {{ matrix_bridge_mautrix_meta_instagram_bridge_displayname_template | to_json }}
|
displayname_template: {{ matrix_bridge_mautrix_meta_instagram_bridge_displayname_template | to_json }}
|
||||||
|
|
||||||
# Static proxy address (HTTP or SOCKS5) for connecting to Meta.
|
# Static proxy address (HTTP or SOCKS5) for connecting to Instagram.
|
||||||
proxy:
|
proxy:
|
||||||
# HTTP endpoint to request new proxy address from, for dynamically assigned proxies.
|
# HTTP endpoint to request new proxy address from, for dynamically assigned proxies.
|
||||||
# The endpoint must return a JSON body with a string field called proxy_url.
|
# The endpoint must return a JSON body with a string field called proxy_url.
|
||||||
get_proxy_from:
|
get_proxy_from:
|
||||||
|
# Should media be proxied too?
|
||||||
|
proxy_media: false
|
||||||
|
# Should other traffic, not configured here, be proxied?
|
||||||
|
proxy_other: true
|
||||||
# Minimum interval between full reconnects in seconds, default is 1 hour
|
# Minimum interval between full reconnects in seconds, default is 1 hour
|
||||||
min_full_reconnect_interval_seconds: 3600
|
min_full_reconnect_interval_seconds: 3600
|
||||||
# Interval to force refresh the connection (full reconnect), default is 20 hours. Set 0 to disable force refreshes.
|
# Interval to force refresh the connection (full reconnect), default is 20 hours. Set 0 to disable force refreshes.
|
||||||
force_refresh_interval_seconds: 72000
|
force_refresh_interval_seconds: 72000
|
||||||
|
# Should connection state be cached to allow quicker restarts?
|
||||||
|
cache_connection_state: true
|
||||||
# Disable fetching XMA media (reels, stories, etc) when backfilling.
|
# Disable fetching XMA media (reels, stories, etc) when backfilling.
|
||||||
disable_xma_backfill: true
|
disable_xma_backfill: true
|
||||||
# Disable fetching XMA media entirely.
|
# Disable fetching XMA media entirely.
|
||||||
disable_xma_always: false
|
disable_xma_always: false
|
||||||
|
# Should typing notification bridging be disabled?
|
||||||
|
disable_typing: false
|
||||||
|
# Should view-once messages be disabled entirely?
|
||||||
|
disable_view_once: false
|
||||||
|
|
||||||
|
# Thread backfill settings for syncing older conversations
|
||||||
|
thread_backfill:
|
||||||
|
# Number of batches (pages) to backfill (-1 for unlimited, 0 to disable)
|
||||||
|
batch_count: 0
|
||||||
|
# Delay between fetching each batch of threads (to avoid rate limiting)
|
||||||
|
batch_delay: 2s
|
||||||
|
|
||||||
|
|
||||||
# Config options that affect the central bridge module.
|
# Config options that affect the central bridge module.
|
||||||
|
|||||||
+1
-1
@@ -33,7 +33,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|||||||
{{ arg }} \
|
{{ arg }} \
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{{ matrix_bridge_mautrix_meta_instagram_container_image }} \
|
{{ matrix_bridge_mautrix_meta_instagram_container_image }} \
|
||||||
/usr/bin/mautrix-meta -c /config/config.yaml -r /config/registration.yaml --no-update
|
{{ matrix_bridge_mautrix_meta_instagram_container_binary_path }} -c /config/config.yaml -r /config/registration.yaml --no-update
|
||||||
|
|
||||||
{% if matrix_bridge_mautrix_meta_instagram_container_network != 'host' %}
|
{% if matrix_bridge_mautrix_meta_instagram_container_network != 'host' %}
|
||||||
{% for network in matrix_bridge_mautrix_meta_instagram_container_additional_networks %}
|
{% for network in matrix_bridge_mautrix_meta_instagram_container_additional_networks %}
|
||||||
@@ -7,13 +7,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# mautrix-meta is a Matrix <-> Facebook/Messenger/Instagram bridge
|
# mautrix-meta is a Matrix <-> Facebook/Messenger bridge
|
||||||
# Project source code URL: https://github.com/mautrix/meta
|
# Project source code URL: https://github.com/mautrix/meta
|
||||||
#
|
#
|
||||||
# WARNING: this bridge role is used for both Messenger and Instagram.
|
# Since v26.07, upstream ships the Instagram side of mautrix-meta as a separate binary and a separate container image.
|
||||||
# This Messenger role acts as a source and auto-generates matrix-bridge-mautrix-meta-instagram
|
# It is covered by the matrix-bridge-mautrix-meta-instagram role.
|
||||||
# thanks to `just rebuild-mautrix-meta-instagram` (`bin/rebuild-mautrix-meta-instagram.sh`).
|
|
||||||
# If you'd like to make changes to the Instagram role, consider making your changes to the Messenger role instead.
|
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_messenger_enabled: true
|
matrix_bridge_mautrix_meta_messenger_enabled: true
|
||||||
|
|
||||||
@@ -103,7 +101,6 @@ matrix_bridge_mautrix_meta_messenger_database_suffix: |-
|
|||||||
'facebook': '_facebook',
|
'facebook': '_facebook',
|
||||||
'facebook-tor': '_facebook',
|
'facebook-tor': '_facebook',
|
||||||
'messenger': '_messenger',
|
'messenger': '_messenger',
|
||||||
'instagram': '_instagram',
|
|
||||||
})[matrix_bridge_mautrix_meta_messenger_meta_mode]
|
})[matrix_bridge_mautrix_meta_messenger_meta_mode]
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -137,23 +134,14 @@ matrix_bridge_mautrix_meta_messenger_appservice_id: "{{ matrix_bridge_mautrix_me
|
|||||||
matrix_bridge_mautrix_meta_messenger_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
matrix_bridge_mautrix_meta_messenger_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
matrix_bridge_mautrix_meta_messenger_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}"
|
matrix_bridge_mautrix_meta_messenger_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}"
|
||||||
|
|
||||||
# For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons:
|
# We use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons:
|
||||||
# - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger
|
# - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger
|
||||||
# - it's easy for users - you may change the mode, but the bot is always at `@messengerbot:example.com`
|
# - it's easy for users - you may change the mode, but the bot is always at `@messengerbot:example.com`
|
||||||
# - it doesn't conflict with mautrix-facebook which uses `@facebookbot:example.com`
|
# - it doesn't conflict with mautrix-facebook which uses `@facebookbot:example.com`
|
||||||
# - `matrix_bridge_mautrix_meta_messenger_appservice_avatar` only has icons for Messenger and Instagram, not Facebook
|
# - `matrix_bridge_mautrix_meta_messenger_appservice_avatar` only has an icon for Messenger, not Facebook
|
||||||
matrix_bridge_mautrix_meta_messenger_appservice_username_prefix: |-
|
matrix_bridge_mautrix_meta_messenger_appservice_username: messengerbot
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': 'messenger',
|
|
||||||
'facebook-tor': 'messenger',
|
|
||||||
'messenger': 'messenger',
|
|
||||||
'instagram': 'instagram',
|
|
||||||
})[matrix_bridge_mautrix_meta_messenger_meta_mode]
|
|
||||||
}}
|
|
||||||
matrix_bridge_mautrix_meta_messenger_appservice_username: "{{ matrix_bridge_mautrix_meta_messenger_appservice_username_prefix }}bot"
|
|
||||||
matrix_bridge_mautrix_meta_messenger_appservice_displayname: "{{ matrix_bridge_mautrix_meta_messenger_meta_mode | capitalize }} bridge bot"
|
matrix_bridge_mautrix_meta_messenger_appservice_displayname: "{{ matrix_bridge_mautrix_meta_messenger_meta_mode | capitalize }} bridge bot"
|
||||||
matrix_bridge_mautrix_meta_messenger_appservice_avatar: "{{ 'mxc://maunium.net/JxjlbZUlCPULEeHZSwleUXQv' if matrix_bridge_mautrix_meta_messenger_meta_mode == 'instagram' else 'mxc://maunium.net/ygtkteZsXnGJLJHRchUwYWak' }}"
|
matrix_bridge_mautrix_meta_messenger_appservice_avatar: mxc://maunium.net/ygtkteZsXnGJLJHRchUwYWak
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_messenger_appservice_database_type: "{{ matrix_bridge_mautrix_meta_messenger_database_engine }}"
|
matrix_bridge_mautrix_meta_messenger_appservice_database_type: "{{ matrix_bridge_mautrix_meta_messenger_database_engine }}"
|
||||||
|
|
||||||
@@ -167,13 +155,16 @@ matrix_bridge_mautrix_meta_messenger_appservice_database_uri: |-
|
|||||||
|
|
||||||
matrix_bridge_mautrix_meta_messenger_appservice_token: ''
|
matrix_bridge_mautrix_meta_messenger_appservice_token: ''
|
||||||
|
|
||||||
# Controls which service this bridge is for.
|
# Controls how the bridge connects to Messenger.
|
||||||
# Valid options:
|
# Valid options:
|
||||||
# * facebook - connect to FB Messenger via facebook.com
|
# * facebook - connect to FB Messenger via facebook.com
|
||||||
# * facebook-tor - connect to FB Messenger via facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion
|
# * facebook-tor - connect to FB Messenger via facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion
|
||||||
# (note: does not currently proxy media downloads)
|
# (note: does not currently proxy media downloads)
|
||||||
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
||||||
# * instagram - connect to Instagram DMs via instagram.com
|
#
|
||||||
|
# Since v0.2608.0, the bridge itself no longer has a `mode` configuration option.
|
||||||
|
# This variable controls playbook-level naming (database name, bridged user prefix, command prefix, etc.) and whether the bridge's `tor` configuration option gets enabled (for `facebook-tor`).
|
||||||
|
# Bridging to Instagram is done by the separate matrix-bridge-mautrix-meta-instagram role.
|
||||||
matrix_bridge_mautrix_meta_messenger_meta_mode: messenger
|
matrix_bridge_mautrix_meta_messenger_meta_mode: messenger
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_messenger_provisioning_shared_secret: disable
|
matrix_bridge_mautrix_meta_messenger_provisioning_shared_secret: disable
|
||||||
@@ -189,37 +180,20 @@ matrix_bridge_mautrix_meta_messenger_bridge_username_prefix: |-
|
|||||||
'facebook': 'facebook_',
|
'facebook': 'facebook_',
|
||||||
'facebook-tor': 'facebook_',
|
'facebook-tor': 'facebook_',
|
||||||
'messenger': 'messenger_',
|
'messenger': 'messenger_',
|
||||||
'instagram': 'instagram_',
|
|
||||||
})[matrix_bridge_mautrix_meta_messenger_meta_mode]
|
})[matrix_bridge_mautrix_meta_messenger_meta_mode]
|
||||||
}}
|
}}
|
||||||
|
|
||||||
# Localpart template of MXIDs for FB/IG users.
|
# Localpart template of MXIDs for FB users.
|
||||||
# {{.}} is replaced with the internal ID of the FB/IG user.
|
# {{.}} is replaced with the internal ID of the FB user.
|
||||||
# Changing this may require that you change the regex in the appservice.
|
# Changing this may require that you change the regex in the appservice.
|
||||||
matrix_bridge_mautrix_meta_messenger_bridge_username_template: "{{ matrix_bridge_mautrix_meta_messenger_bridge_username_prefix + '{{.}}' }}"
|
matrix_bridge_mautrix_meta_messenger_bridge_username_template: "{{ matrix_bridge_mautrix_meta_messenger_bridge_username_prefix + '{{.}}' }}"
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_messenger_bridge_displayname_suffix: |-
|
matrix_bridge_mautrix_meta_messenger_bridge_displayname_suffix: '(FB)'
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': '(FB)',
|
|
||||||
'facebook-tor': '(FB)',
|
|
||||||
'messenger': '(FB)',
|
|
||||||
'instagram': '(IG)',
|
|
||||||
})[matrix_bridge_mautrix_meta_messenger_meta_mode]
|
|
||||||
}}
|
|
||||||
|
|
||||||
matrix_bridge_mautrix_meta_messenger_bridge_displayname_template: '{% raw %}{{or .DisplayName .Username "Unknown user"}}{% endraw %}{{ (" " ~ matrix_bridge_mautrix_meta_messenger_bridge_displayname_suffix) if matrix_bridge_mautrix_meta_messenger_bridge_displayname_suffix else "" }}'
|
matrix_bridge_mautrix_meta_messenger_bridge_displayname_template: '{% raw %}{{or .DisplayName .Username "Unknown user"}}{% endraw %}{{ (" " ~ matrix_bridge_mautrix_meta_messenger_bridge_displayname_suffix) if matrix_bridge_mautrix_meta_messenger_bridge_displayname_suffix else "" }}'
|
||||||
|
|
||||||
# The prefix for commands. Only required in non-management rooms.
|
# The prefix for commands. Only required in non-management rooms.
|
||||||
matrix_bridge_mautrix_meta_messenger_bridge_command_prefix: |-
|
matrix_bridge_mautrix_meta_messenger_bridge_command_prefix: '!fb'
|
||||||
{{
|
|
||||||
({
|
|
||||||
'facebook': '!fb',
|
|
||||||
'facebook-tor': '!fb',
|
|
||||||
'messenger': '!fb',
|
|
||||||
'instagram': '!ig',
|
|
||||||
})[matrix_bridge_mautrix_meta_messenger_meta_mode]
|
|
||||||
}}
|
|
||||||
|
|
||||||
# Whether or not created rooms should have federation enabled.
|
# Whether or not created rooms should have federation enabled.
|
||||||
# If false, created portal rooms will never be federated.
|
# If false, created portal rooms will never be federated.
|
||||||
|
|||||||
@@ -125,7 +125,7 @@
|
|||||||
|
|
||||||
- name: Ensure mautrix-meta-messenger.service installed
|
- name: Ensure mautrix-meta-messenger.service installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/systemd/matrix-mautrix-meta.service.j2"
|
src: "{{ role_path }}/templates/systemd/matrix-mautrix-meta-messenger.service.j2"
|
||||||
dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_bridge_mautrix_meta_messenger_identifier }}.service"
|
dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_bridge_mautrix_meta_messenger_identifier }}.service"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
register: matrix_bridge_mautrix_meta_messenger_systemd_service_result
|
register: matrix_bridge_mautrix_meta_messenger_systemd_service_result
|
||||||
|
|||||||
@@ -43,3 +43,4 @@
|
|||||||
- {'old': 'matrix_bridge_mautrix_meta_messenger_container_labels_metrics_middleware_basic_auth_enabled', 'new': '<removed> (mautrix-meta-messenger does not support metrics)'}
|
- {'old': 'matrix_bridge_mautrix_meta_messenger_container_labels_metrics_middleware_basic_auth_enabled', 'new': '<removed> (mautrix-meta-messenger does not support metrics)'}
|
||||||
- {'old': 'matrix_bridge_mautrix_meta_messenger_container_labels_metrics_middleware_basic_auth_users', 'new': '<removed> (mautrix-meta-messenger does not support metrics)'}
|
- {'old': 'matrix_bridge_mautrix_meta_messenger_container_labels_metrics_middleware_basic_auth_users', 'new': '<removed> (mautrix-meta-messenger does not support metrics)'}
|
||||||
- {'old': 'matrix_bridge_mautrix_meta_messenger_meta_ig_e2ee', 'new': '<removed> (mautrix-meta no longer has an `ig_e2ee` configuration option)'}
|
- {'old': 'matrix_bridge_mautrix_meta_messenger_meta_ig_e2ee', 'new': '<removed> (mautrix-meta no longer has an `ig_e2ee` configuration option)'}
|
||||||
|
- {'old': 'matrix_bridge_mautrix_meta_messenger_appservice_username_prefix', 'new': '<superseded by matrix_bridge_mautrix_meta_messenger_appservice_username>'}
|
||||||
|
|||||||
@@ -1,18 +1,7 @@
|
|||||||
#jinja2: lstrip_blocks: True
|
#jinja2: lstrip_blocks: True
|
||||||
# Network-specific config options
|
# Network-specific config options
|
||||||
network:
|
network:
|
||||||
# Which service is this bridge for? Available options:
|
# Displayname template for FB users. Available variables:
|
||||||
# * unset - allow users to pick any service when logging in (except facebook-tor)
|
|
||||||
# * facebook - connect to FB Messenger via facebook.com
|
|
||||||
# * facebook-tor - connect to FB Messenger via facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion
|
|
||||||
# (note: does not currently proxy media downloads)
|
|
||||||
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
|
||||||
# * instagram - connect to Instagram DMs via instagram.com
|
|
||||||
#
|
|
||||||
# Remember to change the appservice ID, bot profile info, bridge username_template and management_room_text too.
|
|
||||||
mode: {{ matrix_bridge_mautrix_meta_messenger_meta_mode | to_json }}
|
|
||||||
|
|
||||||
# Displayname template for FB/IG users. Available variables:
|
|
||||||
# .DisplayName - The display name set by the user.
|
# .DisplayName - The display name set by the user.
|
||||||
# .Username - The username set by the user.
|
# .Username - The username set by the user.
|
||||||
# .ID - The internal user ID of the user.
|
# .ID - The internal user ID of the user.
|
||||||
@@ -20,17 +9,43 @@ network:
|
|||||||
|
|
||||||
# Static proxy address (HTTP or SOCKS5) for connecting to Meta.
|
# Static proxy address (HTTP or SOCKS5) for connecting to Meta.
|
||||||
proxy:
|
proxy:
|
||||||
|
# If using a Tor proxy in the field above, you can set this to connect to
|
||||||
|
# facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion instead of facebook.com.
|
||||||
|
tor: {{ (matrix_bridge_mautrix_meta_messenger_meta_mode == 'facebook-tor') | to_json }}
|
||||||
# HTTP endpoint to request new proxy address from, for dynamically assigned proxies.
|
# HTTP endpoint to request new proxy address from, for dynamically assigned proxies.
|
||||||
# The endpoint must return a JSON body with a string field called proxy_url.
|
# The endpoint must return a JSON body with a string field called proxy_url.
|
||||||
get_proxy_from:
|
get_proxy_from:
|
||||||
|
# Should media be proxied too?
|
||||||
|
proxy_media: false
|
||||||
|
# Should E2EE messages be proxied too?
|
||||||
|
proxy_e2ee: false
|
||||||
|
# Should Messenger Lite login traffic be proxied?
|
||||||
|
proxy_messenger_lite: true
|
||||||
|
# Should other traffic, not configured here, be proxied?
|
||||||
|
proxy_other: true
|
||||||
# Minimum interval between full reconnects in seconds, default is 1 hour
|
# Minimum interval between full reconnects in seconds, default is 1 hour
|
||||||
min_full_reconnect_interval_seconds: 3600
|
min_full_reconnect_interval_seconds: 3600
|
||||||
# Interval to force refresh the connection (full reconnect), default is 20 hours. Set 0 to disable force refreshes.
|
# Interval to force refresh the connection (full reconnect), default is 20 hours. Set 0 to disable force refreshes.
|
||||||
force_refresh_interval_seconds: 72000
|
force_refresh_interval_seconds: 72000
|
||||||
# Disable fetching XMA media (reels, stories, etc) when backfilling.
|
# Should connection state be cached to allow quicker restarts?
|
||||||
disable_xma_backfill: true
|
cache_connection_state: false
|
||||||
# Disable fetching XMA media entirely.
|
# Should the bridge mark you as online when you send typing
|
||||||
disable_xma_always: false
|
# notifications? Currently, this only has an effect for E2EE chats on
|
||||||
|
# Facebook/Messenger. Full presence bridging is not supported.
|
||||||
|
send_presence_on_typing: false
|
||||||
|
# Should view-once messages be disabled entirely?
|
||||||
|
disable_view_once: false
|
||||||
|
# Should FB marketplace chats have a separate space inside the main Facebook space?
|
||||||
|
marketplace_space: true
|
||||||
|
# Log raw Bloks payloads even at debug level, with any user identifiers or credentials redacted.
|
||||||
|
log_redacted_bloks_payloads: false
|
||||||
|
|
||||||
|
# Thread backfill settings for syncing older conversations
|
||||||
|
thread_backfill:
|
||||||
|
# Number of batches (pages) to backfill (-1 for unlimited, 0 to disable)
|
||||||
|
batch_count: -1
|
||||||
|
# Delay between fetching each batch of threads (to avoid rate limiting)
|
||||||
|
batch_delay: 2s
|
||||||
|
|
||||||
|
|
||||||
# Config options that affect the central bridge module.
|
# Config options that affect the central bridge module.
|
||||||
|
|||||||
Reference in New Issue
Block a user