Changed
This commit is contained in:
parent
6b41807f46
commit
08ecd42e5e
@ -1,22 +1,21 @@
|
||||
# mautrix-wsproxy is a Matrix <-> websocket bridge
|
||||
# See: https://github.com/tulir/mautrix-wsproxy
|
||||
# See: https://github.com/mautrix/wsproxy
|
||||
|
||||
matrix_mautrix_wsproxy_enabled: true
|
||||
|
||||
matrix_mautrix_wsproxy_version: latest
|
||||
# See: https://mau.dev/tulir/mautrix-wsproxy/container_registry
|
||||
matrix_mautrix_wsproxy_docker_image: "dock.mau.dev/tulir/mautrix-wsproxy:{{ matrix_mautrix_wsproxy_version }}"
|
||||
# See: https://mau.dev/mautrix/wsproxy/container_registry
|
||||
matrix_mautrix_wsproxy_docker_image: "dock.mau.dev/mautrix/wsproxy:{{ matrix_mautrix_wsproxy_version }}"
|
||||
matrix_mautrix_wsproxy_docker_image_force_pull: "{{ matrix_mautrix_wsproxy_docker_image.endswith(':latest') }}"
|
||||
|
||||
matrix_mautrix_wsproxy_base_path: "{{ matrix_base_data_path }}/mautrix-wsproxy"
|
||||
matrix_mautrix_wsproxy_base_path: "{{ matrix_base_data_path }}/wsproxy"
|
||||
matrix_mautrix_wsproxy_config_path: "{{ matrix_mautrix_wsproxy_base_path }}/config"
|
||||
matrix_mautrix_wsproxy_data_path: "{{ matrix_mautrix_wsproxy_base_path }}/data"
|
||||
|
||||
matrix_mautrix_wsproxy_homeserver_address: "{{ matrix_homeserver_container_url }}"
|
||||
matrix_mautrix_wsproxy_homeserver_domain: "{{ matrix_domain }}"
|
||||
matrix_mautrix_wsproxy_appservice_address: "http://matrix-mautrix-wsproxy:29331"
|
||||
matrix_mautrix_wsproxy_appservice_websocket: "ws://matrix-mautrix-wsproxy:29331"
|
||||
|
||||
matrix_mautrix_wsproxy_port: 29931
|
||||
# A list of extra arguments to pass to the container
|
||||
matrix_mautrix_wsproxy_container_extra_arguments: []
|
||||
|
||||
@ -53,30 +52,6 @@ matrix_mautrix_wsproxy_configuration_extension: "{{ matrix_mautrix_wsproxy_confi
|
||||
# You most likely don't need to touch this variable. Instead, see `matrix_mautrix_wsproxy_configuration_yaml`.
|
||||
matrix_mautrix_wsproxy_configuration: "{{ matrix_mautrix_wsproxy_configuration_yaml|from_yaml|combine(matrix_mautrix_wsproxy_configuration_extension, recursive=True) }}"
|
||||
|
||||
# Default mautrix-wsproxy configuration template which covers the generic use case.
|
||||
# You can customize it by controlling the various variables inside it.
|
||||
#
|
||||
# For a more advanced customization, you can extend the default (see `matrix_mautrix_wsproxy_configuration_extension_yaml`)
|
||||
# or completely replace this variable with your own template.
|
||||
matrix_mautrix_imessage_configuration_yaml: "{{ lookup('template', 'templates/config-ios.yaml.j2') }}"
|
||||
|
||||
matrix_mautrix_imessage_configuration_extension_yaml: |
|
||||
# Your custom YAML configuration goes here.
|
||||
# This configuration extends the default starting configuration (`matrix_mautrix_wsproxy_configuration_yaml`).
|
||||
#
|
||||
# You can override individual variables from the default configuration, or introduce new ones.
|
||||
#
|
||||
# If you need something more special, you can take full control by
|
||||
# completely redefining `matrix_mautrix_imessage_configuration_yaml`.
|
||||
|
||||
matrix_mautrix_imessage_configuration_extension: "{{ matrix_mautrix_imessage_configuration_extension_yaml|from_yaml if matrix_mautrix_imessage_configuration_extension_yaml|from_yaml is mapping else {} }}"
|
||||
|
||||
# Holds the final configuration (a combination of the default and its extension).
|
||||
# You most likely don't need to touch this variable. Instead, see `matrix_mautrix_imessage_configuration_yaml`.
|
||||
matrix_mautrix_imessage_configuration: "{{ matrix_mautrix_imessage_configuration_yaml|from_yaml|combine(matrix_mautrix_imessage_configuration_extension, recursive=True) }}"
|
||||
|
||||
matrix_mautrix_imessage_user: ''
|
||||
|
||||
matrix_mautrix_wsproxy_registration_yaml: |
|
||||
id: imessage
|
||||
url: {{ matrix_mautrix_wsproxy_appservice_address }}
|
||||
|
||||
@ -43,14 +43,6 @@
|
||||
owner: "{{ matrix_user_username }}"
|
||||
group: "{{ matrix_user_groupname }}"
|
||||
|
||||
- name: Ensure mautrix-imessage config-ios.yaml installed
|
||||
copy:
|
||||
content: "{{ matrix_mautrix_imessage_configuration|to_nice_yaml }}"
|
||||
dest: "{{ matrix_mautrix_wsproxy_config_path }}/config-ios.yaml"
|
||||
mode: 0644
|
||||
owner: "{{ matrix_user_username }}"
|
||||
group: "{{ matrix_user_groupname }}"
|
||||
|
||||
- name: Ensure mautrix-wsproxy registration.yaml installed
|
||||
copy:
|
||||
content: "{{ matrix_mautrix_wsproxy_registration|to_nice_yaml }}"
|
||||
@ -59,6 +51,54 @@
|
||||
owner: "{{ matrix_user_username }}"
|
||||
group: "{{ matrix_user_groupname }}"
|
||||
|
||||
- name: Fail if matrix-nginx-proxy role already executed
|
||||
fail:
|
||||
msg: >-
|
||||
Trying to append mautrix-wsproxy reverse-proxying configuration to matrix-nginx-proxy,
|
||||
but it's pointless since the matrix-nginx-proxy role had already executed.
|
||||
To fix this, please change the order of roles in your plabook,
|
||||
so that the matrix-nginx-proxy role would run after the matrix-wspoxy role.
|
||||
when: matrix_nginx_proxy_role_executed|default(False)|bool and matrix_mautrix_wsproxy_enabled|bool
|
||||
|
||||
- name: Generate Wsproxy proxying configuration for matrix-nginx-proxy
|
||||
set_fact:
|
||||
matrix_mautrix_wsproxy_matrix_nginx_proxy_configuration: |
|
||||
location ~ ^/(_matrix/client/unstable/fi.mau.syncproxy/*) {
|
||||
{% if matrix_nginx_proxy_enabled|default(False) %}
|
||||
{# Use the embedded DNS resolver in Docker containers to discover the service #}
|
||||
resolver 127.0.0.11 valid=5s;
|
||||
set $backend "matrix-mautrix-wsproxy:{{ matrix_mautrix_wsproxy_port }}/$1";
|
||||
proxy_pass http://$backend;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
{% else %}
|
||||
{# Generic configuration for use outside of our container setup #}
|
||||
proxy_pass http://127.0.0.1:{{ matrix_mautrix_wsproxy_port }}/$1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
{% endif %}
|
||||
}
|
||||
when: matrix_mautrix_wsproxy_enabled|bool
|
||||
|
||||
- name: Register Wsproxy's proxying configuration with matrix-nginx-proxy
|
||||
set_fact:
|
||||
matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks: |
|
||||
{{
|
||||
matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks|default([])
|
||||
+
|
||||
[matrix_bot_maubot_matrix_nginx_proxy_configuration]
|
||||
}}
|
||||
when: matrix_mautrix_wsproxy_enabled|bool
|
||||
|
||||
- name: Warn about reverse-proxying if matrix-nginx-proxy not used
|
||||
debug:
|
||||
msg: >-
|
||||
NOTE: You've enabled mautrix-wsproxy but are not using the matrix-nginx-proxy
|
||||
reverse proxy.
|
||||
Please make sure that you're proxying the `/_matrix/client/unstable/fi.mau.syncproxy`
|
||||
URL endpoint to the mautrix-wsproxy container.
|
||||
when: "matrix_mautrix_wsproxy_enabled|bool and matrix_nginx_proxy_enabled is not defined"
|
||||
|
||||
- name: Ensure matrix-mautrix-wsproxy.service installed
|
||||
template:
|
||||
src: "{{ role_path }}/templates/systemd/matrix-mautrix-wsproxy.service.j2"
|
||||
|
||||
@ -1,107 +0,0 @@
|
||||
#jinja2: lstrip_blocks: "True"
|
||||
# Homeserver details.
|
||||
homeserver:
|
||||
# The address that this appservice can use to connect to the homeserver.
|
||||
address: {{ matrix_mautrix_wsproxy_homeserver_address }}
|
||||
websocket_proxy: {{ matrix_mautrix_wsproxy_appservice_websocket }}
|
||||
# The domain of the homeserver (for MXIDs, etc).
|
||||
domain: {{ matrix_mautrix_wsproxy_homeserver_domain }}
|
||||
# Application service host/registration related details.
|
||||
# Changing these values requires regeneration of the registration.
|
||||
|
||||
appservice:
|
||||
# SQLite database path
|
||||
database: mautrix-imessage.db
|
||||
|
||||
# The unique ID of this appservice.
|
||||
id: imessage
|
||||
# Appservice bot details.
|
||||
bot:
|
||||
# Username of the appservice bot.
|
||||
username: imessagebot
|
||||
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
||||
# to leave display name/avatar as-is.
|
||||
displayname: iMessage bridge bot
|
||||
avatar: mxc://maunium.net/tManJEpANASZvDVzvRvhILdX
|
||||
|
||||
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
|
||||
as_token: "{{ matrix_mautrix_wsproxy_appservice_token }}"
|
||||
hs_token: "{{ matrix_mautrix_wsproxy_homeserver_token }}"
|
||||
imessage:
|
||||
platform: ios
|
||||
|
||||
# Bridge config
|
||||
bridge:
|
||||
# The user of the bridge.
|
||||
user: "{{ matrix_mautrix_imessage_user }}"
|
||||
|
||||
# Localpart template of MXIDs for iMessage users.
|
||||
# {{ '{{.}}' }} is replaced with the phone number or email of the iMessage user.
|
||||
username_template: "{{ 'imessage_{{.}}' }}"
|
||||
# Displayname template for iMessage users.
|
||||
# {{ '{{.}}' }} is replaced with the contact list name (if available) or username (phone number or email) of the iMessage user.
|
||||
displayname_template: "{{ '{{.}} (iMessage)' }}"
|
||||
|
||||
# Whether or not the bridge should send a read receipt from the bridge bot when a message has been
|
||||
# sent to iMessage. If fetch_message_on_timeout is enabled, a successful post-timeout fetch will
|
||||
# trigger a read receipt too.
|
||||
delivery_receipts: false
|
||||
|
||||
# Whether or not to update the m.direct account data event when double puppeting is enabled.
|
||||
# Note that updating the m.direct event is not atomic (except with mautrix-asmux)
|
||||
# and is therefore prone to race conditions.
|
||||
sync_direct_chat_list: false
|
||||
# Shared secret for https://github.com/devture/matrix-synapse-shared-secret-auth
|
||||
#
|
||||
# If set, custom puppets will be enabled automatically for local users
|
||||
# instead of users having to find an access token and run `login-matrix`
|
||||
# manually.
|
||||
login_shared_secret: {{ matrix_mautrix_whatsapp_login_shared_secret|to_json }}
|
||||
# Maximum age of chats to sync in days.
|
||||
chat_sync_max_age: 0.5
|
||||
# Maximum number of messages to backfill for new portal rooms.
|
||||
initial_backfill_limit: 100
|
||||
|
||||
# The prefix for commands. Only required in non-management rooms.
|
||||
command_prefix: "!im"
|
||||
|
||||
# End-to-bridge encryption support options. This requires login_shared_secret to be configured
|
||||
# in order to get a device for the bridge bot.
|
||||
#
|
||||
# Additionally, https://github.com/matrix-org/synapse/pull/5758 is required if using a normal
|
||||
# application service.
|
||||
encryption:
|
||||
# Allow encryption, work in group chat rooms with e2ee enabled
|
||||
allow: false
|
||||
# Default to encryption, force-enable encryption in all portals the bridge creates
|
||||
# This will cause the bridge bot to be in private chats for the encryption to work properly.
|
||||
# It is recommended to also set private_chat_portal_meta to true when using this.
|
||||
default: false
|
||||
# Options for automatic key sharing.
|
||||
key_sharing:
|
||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||
# You must use a client that supports requesting keys from other users to use this feature.
|
||||
allow: false
|
||||
# Require the requesting device to have a valid cross-signing signature?
|
||||
# This doesn't require that the bridge has verified the device, only that the user has verified it.
|
||||
# Not yet implemented.
|
||||
require_cross_signing: false
|
||||
# Require devices to be verified by the bridge?
|
||||
# Verification by the bridge is not yet implemented.
|
||||
require_verification: true
|
||||
|
||||
# Logging config.
|
||||
logging:
|
||||
# The directory for log files. Will be created if not found.
|
||||
directory: ./logs
|
||||
# Available variables: .Date for the file date and .Index for different log files on the same day.
|
||||
file_name_format: "{{ '{{.Date}}-{{.Index}}.log' }}"
|
||||
# Date format for file names in the Go time format: https://golang.org/pkg/time/#pkg-constants
|
||||
file_date_format: "2006-01-02"
|
||||
# Log file permissions.
|
||||
file_mode: 0600
|
||||
# Timestamp format for log entries in the Go time format.
|
||||
timestamp_format: "Jan _2, 2006 15:04:05"
|
||||
# Minimum severity for log messages.
|
||||
# Options: debug, info, warn, error, fatal
|
||||
print_level: debug
|
||||
Loading…
Reference in New Issue
Block a user