Self-Hosting Bridges
Run your own bridges with Beeper Bridge Manager
Overview
Section titled “Overview”The easiest way to self-host bridges is using Beeper Bridge Manager (bbctl). It’s a tool for running self-hosted bridges with your Beeper account.
Key Benefits
Section titled “Key Benefits”- Security - Run official Beeper bridges on your own hardware securely
- Flexibility - Connect custom or third-party bridges without self-hosting a full Matrix server
- Control - Maintain complete control over message processing and encryption
Prerequisites
Section titled “Prerequisites”Before you begin, ensure you have:
- Operating System: Linux or macOS (amd64 or arm64)
- Python: Python 3 with
venvmodule for Python-based bridges - ffmpeg: Required for media conversion in some bridges
- Beeper account: You’ll need an active Beeper account
Installation
Section titled “Installation”Step 1: Download bbctl
Section titled “Step 1: Download bbctl”Download the appropriate binary for your system:
You can check the GitHub releases for the latest version, checksum(s) and source code.
git clone https://github.com/beeper/bridge-manager.gitcd bridge-manager./build.shStep 2: Install Dependencies
Section titled “Step 2: Install Dependencies”sudo apt install python3 python3-venv ffmpegbrew install python ffmpegStep 3: Login to Beeper
Section titled “Step 3: Login to Beeper”bbctl loginRunning Official Bridges
Section titled “Running Official Bridges”-
Start a bridge
Terminal window bbctl run sh-<bridgename>Example:
bbctl run sh-whatsapp -
Configure the bridge
- Send a DM to the bridge bot:
@sh-<bridgename>bot:beeper.local - Follow the bot’s instructions to log in to the remote network
- Send a DM to the bridge bot:
-
Keep it running
- Currently runs in foreground (use
tmuxorscreenfor persistence) - Service mode for automatic startup coming soon
- Currently runs in foreground (use
Supported Official Bridges
Section titled “Supported Official Bridges”| Bridge | Identifier(s) | Repository |
|---|---|---|
| Telegram | telegram | mautrix/telegram |
whatsapp | mautrix/whatsapp | |
| Signal | signal | mautrix/signal |
| Discord | discord | mautrix/discord |
| Slack | slack | mautrix/slack |
| Google Messages | gmessages, googlemessages, rcs, sms | mautrix/gmessages |
| Google Voice | gvoice, googlevoice | mautrix/gvoice |
| Meta (FB/Instagram) | meta, instagram, facebook | mautrix/meta |
| Google Chat | googlechat, gchat | mautrix/googlechat |
twitter | mautrix/twitter | |
| Bluesky | bluesky, bsky | mautrix/bluesky |
| iMessage | imessage | mautrix/imessage |
| iMessage (Go) | imessagego | beeper/imessage |
linkedin | mautrix/linkedin | |
| IRC (Heisenbridge) | heisenbridge, irc | hifi/heisenbridge |
Running Third-Party Bridges
Section titled “Running Third-Party Bridges”BridgeV2-based Bridges
Section titled “BridgeV2-based Bridges”For bridges built with mautrix-go’s bridgev2 framework:
-
Generate config
Terminal window bbctl config --type bridgev2 sh-<bridgename> -
Add network configuration
Add the
networksection to the generated config with bridge-specific settings -
Run the bridge
Run the bridge with your config file
Custom Bridges
Section titled “Custom Bridges”For other third-party bridges:
-
Generate registration
Terminal window bbctl register sh-<bridgename> -
Configure the bridge
Configure the bridge according to its documentation
-
Run the proxy
Terminal window bbctl proxy -r registration.yamlThis connects your bridge to Beeper
Managing Bridges
Section titled “Managing Bridges”Delete a Bridge
Section titled “Delete a Bridge”bbctl delete sh-<bridgename>This permanently removes the bridge and all associated data from Beeper servers.