Skip to content
  • Auto
  • Light
  • Dark
Download Beeper

Self-Hosting Bridges

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.

  • 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

Before you begin, ensure you have:

  • Operating System: Linux or macOS (amd64 or arm64)
  • Python: Python 3 with venv module for Python-based bridges
  • ffmpeg: Required for media conversion in some bridges
  • Beeper account: You’ll need an active Beeper account

Download the appropriate binary for your system:

You can check the GitHub releases for the latest version, checksum(s) and source code.

Terminal window
sudo apt install python3 python3-venv ffmpeg
Terminal window
bbctl login
  1. Start a bridge

    Terminal window
    bbctl run sh-<bridgename>

    Example: bbctl run sh-whatsapp

  2. 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
  3. Keep it running

    • Currently runs in foreground (use tmux or screen for persistence)
    • Service mode for automatic startup coming soon
BridgeIdentifier(s)Repository
Telegramtelegrammautrix/telegram
WhatsAppwhatsappmautrix/whatsapp
Signalsignalmautrix/signal
Discorddiscordmautrix/discord
Slackslackmautrix/slack
Google Messagesgmessages, googlemessages, rcs, smsmautrix/gmessages
Google Voicegvoice, googlevoicemautrix/gvoice
Meta (FB/Instagram)meta, instagram, facebookmautrix/meta
Google Chatgooglechat, gchatmautrix/googlechat
Twittertwittermautrix/twitter
Blueskybluesky, bskymautrix/bluesky
iMessageimessagemautrix/imessage
iMessage (Go)imessagegobeeper/imessage
LinkedInlinkedinmautrix/linkedin
IRC (Heisenbridge)heisenbridge, irchifi/heisenbridge

For bridges built with mautrix-go’s bridgev2 framework:

  1. Generate config

    Terminal window
    bbctl config --type bridgev2 sh-<bridgename>
  2. Add network configuration

    Add the network section to the generated config with bridge-specific settings

  3. Run the bridge

    Run the bridge with your config file

For other third-party bridges:

  1. Generate registration

    Terminal window
    bbctl register sh-<bridgename>
  2. Configure the bridge

    Configure the bridge according to its documentation

  3. Run the proxy

    Terminal window
    bbctl proxy -r registration.yaml

    This connects your bridge to Beeper

Terminal window
bbctl delete sh-<bridgename>

This permanently removes the bridge and all associated data from Beeper servers.