mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 15:06:26 +02:00
Successfully implemented matrix whatsapp bridge
This commit is contained in:
@@ -6,6 +6,7 @@ services:
|
||||
|
||||
synapse:
|
||||
image: matrixdotorg/synapse:latest
|
||||
container_name: mautrix-synapse
|
||||
restart: {{docker_restart_policy}}
|
||||
logging:
|
||||
driver: journald
|
||||
@@ -13,6 +14,7 @@ services:
|
||||
- synapse_data:/data
|
||||
- ./homeserver.yaml:/data/homeserver.yaml:ro
|
||||
- ./{{synapse_domain}}.log.config:/data/{{synapse_domain}}.log.config:ro
|
||||
- registration_files:{{registration_file_folder}}
|
||||
environment:
|
||||
- SYNAPSE_SERVER_NAME={{synapse_domain}}
|
||||
- SYNAPSE_REPORT_STATS=no
|
||||
@@ -23,6 +25,7 @@ services:
|
||||
|
||||
element:
|
||||
image: vectorim/element-web:latest
|
||||
container_name: mautrix-element
|
||||
restart: {{docker_restart_policy}}
|
||||
volumes:
|
||||
- ./element-config.json:/app/config.json
|
||||
@@ -38,12 +41,14 @@ services:
|
||||
# volumes:
|
||||
# - telegram_bridge_data:/data
|
||||
|
||||
#mautrix-whatsapp:
|
||||
# container_name: mautrix-whatsapp
|
||||
# image: dock.mau.dev/mautrix/whatsapp:latest
|
||||
# restart: {{docker_restart_policy}}
|
||||
# volumes:
|
||||
# - ./mautrix_whatsapp:/data
|
||||
mautrix-whatsapp:
|
||||
container_name: mautrix-whatsapp
|
||||
image: dock.mau.dev/mautrix/whatsapp:latest
|
||||
restart: {{docker_restart_policy}}
|
||||
volumes:
|
||||
- ./mautrix_whatsapp:/data
|
||||
- registration_files:{{registration_file_folder}}
|
||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||
|
||||
#mautrix-facebook:
|
||||
# container_name: mautrix-facebook
|
||||
@@ -62,7 +67,8 @@ services:
|
||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||
synapse_data:
|
||||
#telegram_bridge_data:
|
||||
#whatsapp_bridge_data:
|
||||
whatsapp_bridge_data:
|
||||
registration_files:
|
||||
#facebook_bridge_data:
|
||||
#instagram_bridge_data:
|
||||
|
||||
|
@@ -1,9 +1,9 @@
|
||||
# Homeserver details.
|
||||
homeserver:
|
||||
# The address that this appservice can use to connect to the homeserver.
|
||||
address: https://{{synapse_domain}}
|
||||
# The domain of the homeserver (for MXIDs, etc).
|
||||
domain: "{{synapse_domain}}"
|
||||
address: http://synapse:8008
|
||||
# The domain of the homeserver (also known as server_name, used for MXIDs, etc).
|
||||
domain: {{synapse_domain}}
|
||||
|
||||
# What software is the homeserver running?
|
||||
# Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
|
||||
@@ -27,7 +27,7 @@ homeserver:
|
||||
# Changing these values requires regeneration of the registration.
|
||||
appservice:
|
||||
# The address that the homeserver can use to connect to this appservice.
|
||||
address: http://localhost:29318
|
||||
address: http://mautrix-whatsapp:29318
|
||||
|
||||
# The hostname and port where this appservice should listen.
|
||||
hostname: 0.0.0.0
|
||||
@@ -42,7 +42,7 @@ appservice:
|
||||
# https://github.com/mattn/go-sqlite3#connection-string
|
||||
# Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable
|
||||
# To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql
|
||||
uri: postgres://matrix:{{matrix_database_password}}@database/matrix?sslmode=disable
|
||||
uri: postgres://{{mautrix_whatsapp_bridge_database_username}}:{{mautrix_whatsapp_bridge_database_password}}@{{database_host}}/{{mautrix_whatsapp_bridge_database_name}}?sslmode=disable
|
||||
# Maximum number of connections. Mostly relevant for Postgres.
|
||||
max_open_conns: 20
|
||||
max_idle_conns: 2
|
||||
@@ -70,8 +70,8 @@ appservice:
|
||||
async_transactions: false
|
||||
|
||||
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
|
||||
as_token: "GvOrixRxN8G2dO1KhUgWKL8yhC0lgSBtbr819nntLV2ZcPlWayjWj14YIVKMJHmA"
|
||||
hs_token: "oQbRcd1KO2ggrF9lu13fElKnp1Zf0GDU9fiTFSwQQjnD3VmcRnVlZqhMpXu3criI"
|
||||
#as_token: "{{mautrix_whatsapp_bridge_as_token}}"
|
||||
#hs_token: "{{mautrix_whatsapp_bridge_hs_token}}"
|
||||
|
||||
# Segment-compatible analytics endpoint for tracking some events, like provisioning API login and encryption errors.
|
||||
analytics:
|
||||
@@ -100,6 +100,7 @@ whatsapp:
|
||||
|
||||
# Bridge config
|
||||
bridge:
|
||||
{% raw %}
|
||||
# Localpart template of MXIDs for WhatsApp users.
|
||||
# {{.}} is replaced with the phone number of the WhatsApp user.
|
||||
username_template: whatsapp_{{.}}
|
||||
@@ -111,6 +112,7 @@ bridge:
|
||||
# {{.FullName}} - full name from contact list
|
||||
# {{.FirstName}} - first name from contact list
|
||||
displayname_template: "{{or .BusinessName .PushName .JID}} (WA)"
|
||||
{% endraw %}
|
||||
# Should the bridge create a space for each logged-in user and add bridged rooms to it?
|
||||
# Users who logged in before turning this on should run `!wa sync space` to create and fill the space for the first time.
|
||||
personal_filtering_spaces: false
|
||||
@@ -234,7 +236,7 @@ bridge:
|
||||
force_active_delivery_receipts: false
|
||||
# Servers to always allow double puppeting from
|
||||
double_puppet_server_map:
|
||||
example.com: https://example.com
|
||||
{{synapse_domain}}: https://{{synapse_domain}}
|
||||
# Allow using double puppeting from any server with a valid client .well-known file.
|
||||
double_puppet_allow_discovery: false
|
||||
# Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth
|
||||
@@ -243,7 +245,7 @@ bridge:
|
||||
# instead of users having to find an access token and run `login-matrix`
|
||||
# manually.
|
||||
login_shared_secret_map:
|
||||
example.com: foobar
|
||||
{{synapse_domain}}: foobar
|
||||
# Whether to explicitly set the avatar and room name for private chat portal rooms.
|
||||
# If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms.
|
||||
# If set to `always`, all DM rooms will have explicit names and avatars set.
|
||||
@@ -417,7 +419,7 @@ bridge:
|
||||
prefix: /_matrix/provision
|
||||
# Shared secret for authentication. If set to "generate", a random secret will be generated,
|
||||
# or if set to "disable", the provisioning API will be disabled.
|
||||
shared_secret: kY8Ez6M80YBpvGtMz5R1Mb1c7deb8d9zxmlvqwTv0HGCKPVqcrTmHu90Wi04828z
|
||||
shared_secret: {{mautrix_whatsapp_bridge_provisioning_shared_secret}}
|
||||
# Enable debug API at /debug with provisioning authentication.
|
||||
debug_endpoints: false
|
||||
|
||||
@@ -432,8 +434,8 @@ bridge:
|
||||
# mxid - Specific user
|
||||
permissions:
|
||||
"*": relay
|
||||
"example.com": user
|
||||
"@admin:example.com": admin
|
||||
"{{synapse_domain}}": user
|
||||
"@{{matrix_admin_name}}:{{synapse_domain}}": admin
|
||||
|
||||
# Settings for relay mode
|
||||
relay:
|
||||
@@ -444,6 +446,7 @@ bridge:
|
||||
admin_only: true
|
||||
# The formats to use when sending messages to WhatsApp via the relaybot.
|
||||
message_formats:
|
||||
{% raw %}
|
||||
m.text: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}"
|
||||
m.notice: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}"
|
||||
m.emote: "* <b>{{ .Sender.Displayname }}</b> {{ .Message }}"
|
||||
@@ -452,10 +455,11 @@ bridge:
|
||||
m.audio: "<b>{{ .Sender.Displayname }}</b> sent an audio file"
|
||||
m.video: "<b>{{ .Sender.Displayname }}</b> sent a video"
|
||||
m.location: "<b>{{ .Sender.Displayname }}</b> sent a location"
|
||||
{% endraw %}
|
||||
|
||||
# Logging config. See https://github.com/tulir/zeroconfig for details.
|
||||
logging:
|
||||
min_level: debug
|
||||
writers:
|
||||
- type: stdout
|
||||
format: pretty-colored
|
||||
format: pretty-colored
|
@@ -43,4 +43,7 @@ email:
|
||||
enable_notifs: true
|
||||
notif_for_new_users: false
|
||||
client_base_url: "{{domain_matrix_synapse}}"
|
||||
validation_token_lifetime: 15m
|
||||
validation_token_lifetime: 15m
|
||||
|
||||
app_service_config_files:
|
||||
- "{{mautrix_registration_file}}"
|
Reference in New Issue
Block a user