Dendrite Docker Bridges
A simple way to set up Dendrite with bridges for WhatsApp, Telegram, and Discord.
Before Starting
-
Make sure you set up your domain by following this documentation: Dendrite Domain Name Setup.
-
Ensure you have
docker
anddocker compose
installed on your server. -
All commands will be executed in the project root, i.e., the directory where the repository was cloned.
Installation
- Clone this repository and enter the directory:
git clone https://gitlab.com/rogs/dendrite-docker-bridges.git
cd dendrite-docker-bridges
- Run
setup.sh
:
./setup.sh
This script will:
- Prompt you for your domain (the one you configured in "Before Starting")
- Generate a secure database password
- Create your private key and config in the
./config/dendrite
directory - Display two important pieces of information:
- The "Registration shared secret"
- The Database URI
Important: Make sure to save both the registration shared secret AND the Database URI in a secure location. The Database URI will be needed later when configuring the bridges for WhatsApp, Telegram, and Discord.
- Open your configuration file located at
./config/dendrite/dendrite.yaml
. You may needsudo
to edit this file. Search forregistration_shared_secret
and paste the registration secret you copied in the previous step. The section should look similar to this:
client_api:
registration_disabled: true
registration_requires_token: false
registration_shared_secret: "YourBigCopiedKey123" # This is your key!
guests_disabled: false
enable_registration_captcha: false
recaptcha_api_js_url: ""
- Start Dendrite:
docker compose up -d postgres monolith
- Run
setup-db.sh
:
./setup-db.sh
This script will create three new databases: whatsapp
, telegram
, and discord
. These will be used later for the bridges.
- Verify the setup by navigating to
http://your-ip-address:8008
in your browser. You should see a screen similar to this:
That's It!
Dendrite is now up and running! You can proceed with setting up the bridges:
Note: When configuring each bridge, you'll need to use the Database URI that was displayed during the setup process. Make sure you have saved it somewhere secure!