matrix-docker-ansible-deploy/docs/configuring-playbook-bridge-mautrix-meta-messenger.md
Suguru Hirahara 638f53a889
Update docs for mautrix bridges (follow-up) (#3924)
* Update docs/configuring-playbook-bridge-mautrix-telegram.md

- Add a link to the official documentation on authentication
- Create subsections in the section "Usage"
- Update the usage based on d33701428d/bridges/python/telegram/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-twitter.md

- Remove a duplicated "optional" label
- Replace the instruction with a link to the official documentation on authentication

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-appservice-kakaotalk.md

- Adopt a common introduction
- Move the warning message down

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-discord.md

As our instruction on usage has been outdated compared to the latest one (cf. d33701428d/bridges/go/discord/authentication.md), let alone confusing in the first place as our instruction on logging in and bridging have been mixed, this commit updates our instruction based on the latest official one.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-gmessages.md: add a link to the official documentation on authentication

Based on d33701428d/bridges/go/gmessages/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix-meta bridges: add links to the official documentation on authentication

Based on d33701428d/bridges/go/meta/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-signal.md: add a link to the official documentation on authentication

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-slack.md

Based on d33701428d/bridges/go/slack/authentication.md

The instruction has been obsolete since 25b4006035

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-googlechat.md

Based on d33701428d/bridges/python/googlechat/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add information about troubleshooting

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: add descriptions for each mautrix bridge about the bridges behavior after logging in

Based on d33701428d

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: add instruction for sending "help" to the bot to the common guide

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-hangouts.md: adopt a common description about usage

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-whatsapp.md

- Update the note about linked devices that they will be logged out if the phone is not used over two weeks: the note has been obsolete since 0860109d05
- Adopt a common description about usage

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: fix the internal anchor link

Regression by 4b2e066a6159d8a368cfbab3d46e91dca3549bb4

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add a note about the official docs

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-go-skype-bridge.md: adopt the common description

As the bridge was created based on mautrix-whatsapp, this commit adopts the common descriptions for mautrix bridges and ones based on them such as matrix-appservice-kakaotalk and beeper-linkedin

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-10 09:36:27 +02:00

6.6 KiB

Setting up Messenger bridging via Mautrix Meta (optional)

Refer the common guide for configuring mautrix bridges: Setting up a Generic Mautrix Bridge

The playbook can install and configure the mautrix-meta Messenger/Instagram bridge for you.

See the project's documentation to learn what it does and why it might be useful to you.

Since this bridge component can bridge to both Messenger and Instagram 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).

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.

Prerequisites

Migrating from the old mautrix-facebook bridge

If you've been using the mautrix-facebook bridge, it's possible to migrate the database using instructions from the bridge documentation (advanced).

Then you may wish to get rid of the Facebook bridge. To do so, send a clean-rooms command to the management room with the old bridge bot (@facebookbot:example.com). It gives you a list of portals and groups of portals you may purge. Proceed with sending commands like clean recommended, etc.

Then, consider disabling the old bridge in your configuration, so it won't recreate the portals when you receive new messages.

Note: the user ID of the new bridge bot is @messengerbot:example.com, not @facebookbot:example.com. After disabling the old bridge, its bot user will stop responding to a command.

Enable Appservice Double Puppet (optional)

If you want to set up Double Puppeting (hint: you most likely do) for this bridge automatically, you need to have enabled Appservice Double Puppet service for this playbook.

See this section on the common guide for configuring mautrix bridges for details about setting up Double Puppeting.

Adjusting the playbook configuration

To enable the bridge, add the following configuration to your inventory/host_vars/matrix.example.com/vars.yml file:

matrix_mautrix_meta_messenger_enabled: true

Before proceeding to re-running the playbook, you may wish to adjust the configuration further. See below.

Bridge mode

As mentioned above, the mautrix-meta bridge supports multiple modes of operation.

The bridge can pull your Messenger messages via 3 different methods:

  • (facebook) Facebook via facebook.com
  • (facebook-tor) Facebook via facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion (Tor) - does not currently proxy media downloads
  • (default) (messenger) Messenger via messenger.com - usable even without a Facebook account

You may switch the mode via the matrix_mautrix_meta_messenger_meta_mode variable. The playbook defaults to the messenger mode, because it's most universal (every Facebook user has a Messenger account, but the opposite is not true).

Note that switching the mode (especially between facebook* and messenger) will intentionally make the bridge use another database (matrix_mautrix_meta_facebook or matrix_mautrix_meta_messenger) to isolate the 2 instances. Switching between Tor and non-Tor may be possible without dataloss, but your mileage may vary. Before switching to a new mode, you may wish to de-configure the old one (send help to the bridge bot and unbridge your portals, etc.).

Extending the configuration

There are some additional things you may wish to configure about the bridge.

See this section on the common guide for configuring mautrix bridges for details about variables that you can customize and the bridge's default configuration, including bridge permissions, encryption support, relay mode, bot's username, etc.

Installing

After configuring the playbook, run it with playbook tags as below:

ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start

Notes:

  • The ensure-matrix-users-created playbook tag makes the playbook automatically create the bot's user account.

  • The shortcut commands with the just program are also available: just install-all or just setup-all

    just install-all is useful for maintaining your setup quickly (2x-5x faster than just setup-all) when its components remain unchanged. If you adjust your vars.yml to remove other components, you'd need to run just setup-all, or these components will still remain installed.

Usage

To use the bridge, you need to start a chat with @messengerbot:example.com (where example.com is your base domain, not the matrix. domain). Note that the user ID of the bridge's bot is not @facebookbot:example.com.

You can then follow instructions on the bridge's official documentation on Authentication.

After logging in, the bridge will sync recent chats.

Note: given that the bot is configured in messenger bridge mode by default, you will need to log in to messenger.com (not facebook.com!) and obtain the cookies from there.