mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-06-25 01:21:25 +03:00
11cd178cb2
Add the matrix-rustpush-bridge role, a Matrix <-> iMessage bridge built on the mautrix-go bridgev2 framework using RustPush (OpenBubbles backend). Unlike the existing mautrix-imessage/wsproxy bridge, it talks directly to Apple's push notification service, so it needs neither a running Mac nor a wsproxy on the homeserver. Each user supplies a hardware key extracted from a Mac through the bridge bot's login flow. The bridge uses its own bot username and puppet namespace (rustpushbot, rustpush_*) so it does not collide with the wsproxy iMessage bridge. This bridge is in early development and may have stability issues.
54 lines
2.5 KiB
Django/Jinja
54 lines
2.5 KiB
Django/Jinja
{#
|
|
SPDX-FileCopyrightText: 2026 MDAD project contributors
|
|
SPDX-FileCopyrightText: 2026 Jason LaGuidice
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
#}
|
|
|
|
{% if matrix_rustpush_bridge_container_labels_traefik_enabled %}
|
|
traefik.enable=true
|
|
|
|
{% if matrix_rustpush_bridge_container_labels_traefik_docker_network %}
|
|
traefik.docker.network={{ matrix_rustpush_bridge_container_labels_traefik_docker_network }}
|
|
{% endif %}
|
|
|
|
traefik.http.services.matrix-rustpush-bridge-metrics.loadbalancer.server.port=8000
|
|
|
|
{% if matrix_rustpush_bridge_container_labels_metrics_enabled %}
|
|
############################################################
|
|
# #
|
|
# Metrics #
|
|
# #
|
|
############################################################
|
|
|
|
{% if matrix_rustpush_bridge_container_labels_metrics_middleware_basic_auth_enabled %}
|
|
traefik.http.middlewares.matrix-rustpush-bridge-metrics-basic-auth.basicauth.users={{ matrix_rustpush_bridge_container_labels_metrics_middleware_basic_auth_users }}
|
|
traefik.http.routers.matrix-rustpush-bridge-metrics.middlewares=matrix-rustpush-bridge-metrics-basic-auth
|
|
{% endif %}
|
|
|
|
traefik.http.routers.matrix-rustpush-bridge-metrics.rule={{ matrix_rustpush_bridge_container_labels_metrics_traefik_rule }}
|
|
|
|
{% if matrix_rustpush_bridge_container_labels_metrics_traefik_priority | int > 0 %}
|
|
traefik.http.routers.matrix-rustpush-bridge-metrics.priority={{ matrix_rustpush_bridge_container_labels_metrics_traefik_priority }}
|
|
{% endif %}
|
|
|
|
traefik.http.routers.matrix-rustpush-bridge-metrics.service=matrix-rustpush-bridge-metrics
|
|
traefik.http.routers.matrix-rustpush-bridge-metrics.entrypoints={{ matrix_rustpush_bridge_container_labels_metrics_traefik_entrypoints }}
|
|
|
|
traefik.http.routers.matrix-rustpush-bridge-metrics.tls={{ matrix_rustpush_bridge_container_labels_metrics_traefik_tls | to_json }}
|
|
{% if matrix_rustpush_bridge_container_labels_metrics_traefik_tls %}
|
|
traefik.http.routers.matrix-rustpush-bridge-metrics.tls.certResolver={{ matrix_rustpush_bridge_container_labels_metrics_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
|
|
############################################################
|
|
# #
|
|
# /Metrics #
|
|
# #
|
|
############################################################
|
|
{% endif %}
|
|
|
|
|
|
{% endif %}
|
|
|
|
{{ matrix_rustpush_bridge_container_labels_additional_labels }}
|