WhatsApp Bridge Setup Guide

This guide will help you set up the WhatsApp bridge for your Dendrite Matrix server.

Prerequisites

Before starting, ensure that:

  • Dendrite is properly configured and running.
  • The whatsapp database was created during the initial setup.
  • You have your domain name ready.

Setup Steps

  1. Navigate to the WhatsApp configuration directory:
cd config/mautrix-whatsapp
  1. Generate the initial configuration file:
docker run --rm -v `pwd`:/data:z dock.mau.dev/mautrix/whatsapp
  1. Edit the generated config.yaml file. You may need administrative privileges (sudo) to edit this file.

Required Configuration Changes

Make the following modifications to your config.yaml:

Homeserver Settings

homeserver:
    address: http://monolith:8008  # Internal Docker network address
    domain: your.domain.com        # Replace with your actual domain

Appservice Settings

appservice:
    address: http://whatsapp:29318  # Internal bridge address
    hostname: 0.0.0.0               # Listen on all interfaces

Bridge Permissions

bridge:
    permissions:
        "*": relay
        "your.domain.com": user           # Replace with your domain
        "@yourusername:your.domain.com": admin  # Replace with your Matrix ID

Database Connection

Update the database URI to use the WhatsApp-specific database. For example:

# Original:
# postgres://dendrite:password@postgres/dendrite?sslmode=disable

# Modified (note 'whatsapp' database name):
postgres://dendrite:password@postgres/whatsapp?sslmode=disable
  1. Generate the registration file:
docker run --rm -v `pwd`:/data:z dock.mau.dev/mautrix/whatsapp
  1. Configure Dendrite to use the WhatsApp bridge by editing config/dendrite/dendrite.yaml:
app_service_api:
    config_files: 
        - "/etc/whatsapp/registration.yaml"

Starting the Bridge

  1. Start the WhatsApp bridge service:
docker compose up -d mautrix-whatsapp
  1. Restart Dendrite to load the new bridge configuration:
docker compose restart monolith

Verifying the Setup

  1. Check if the bridge is running:
docker compose logs mautrix-whatsapp

You should see messages indicating the bridge has started successfully.

Using the Bridge

  • Set up your WhatsApp account in Matrix by starting a chat with @whatsappbot:your.domain.com.
  • Follow the bot's instructions to link your WhatsApp account.
  • Once configured, you can proceed to set up the Telegram Bridge.

Troubleshooting

If you encounter issues:

  • Verify all configuration files have the correct permissions.
  • Check the bridge logs using docker compose logs mautrix-whatsapp.
  • Ensure the database connection string is correct.
  • Verify the Dendrite configuration includes the correct path to the registration file.