mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-07-16 19:53:53 +03:00
Rename matrix_hookshot_* variables to matrix_bridge_hookshot_*
Part of adopting a uniform naming policy for bridge variables, where the variable prefix matches the role directory name. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,192 +15,192 @@
|
||||
# A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.
|
||||
# Project source code URL: https://github.com/matrix-org/matrix-hookshot
|
||||
|
||||
matrix_hookshot_enabled: true
|
||||
matrix_bridge_hookshot_enabled: true
|
||||
|
||||
matrix_hookshot_identifier: matrix-hookshot
|
||||
matrix_bridge_hookshot_identifier: matrix-hookshot
|
||||
|
||||
matrix_hookshot_container_image_self_build: false
|
||||
matrix_hookshot_container_image_self_build_repo: "https://github.com/matrix-org/matrix-hookshot.git"
|
||||
matrix_hookshot_container_image_self_build_branch: "{{ 'main' if matrix_hookshot_version == 'latest' else matrix_hookshot_version }}"
|
||||
matrix_bridge_hookshot_container_image_self_build: false
|
||||
matrix_bridge_hookshot_container_image_self_build_repo: "https://github.com/matrix-org/matrix-hookshot.git"
|
||||
matrix_bridge_hookshot_container_image_self_build_branch: "{{ 'main' if matrix_bridge_hookshot_version == 'latest' else matrix_bridge_hookshot_version }}"
|
||||
|
||||
# Specifies additional networks for the Hookshot container to connect with
|
||||
matrix_hookshot_container_additional_networks: "{{ matrix_hookshot_container_additional_networks_auto + matrix_hookshot_container_additional_networks_custom }}"
|
||||
matrix_hookshot_container_additional_networks_auto: []
|
||||
matrix_hookshot_container_additional_networks_custom: []
|
||||
matrix_bridge_hookshot_container_additional_networks: "{{ matrix_bridge_hookshot_container_additional_networks_auto + matrix_bridge_hookshot_container_additional_networks_custom }}"
|
||||
matrix_bridge_hookshot_container_additional_networks_auto: []
|
||||
matrix_bridge_hookshot_container_additional_networks_custom: []
|
||||
|
||||
# renovate: datasource=docker depName=halfshot/matrix-hookshot
|
||||
matrix_hookshot_version: 7.3.2
|
||||
matrix_bridge_hookshot_version: 7.3.2
|
||||
|
||||
matrix_hookshot_container_image: "{{ matrix_hookshot_container_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}"
|
||||
matrix_hookshot_container_image_registry_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_container_image_registry_prefix_upstream }}"
|
||||
matrix_hookshot_container_image_registry_prefix_upstream: "{{ matrix_hookshot_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_hookshot_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_bridge_hookshot_container_image: "{{ matrix_bridge_hookshot_container_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_bridge_hookshot_version }}"
|
||||
matrix_bridge_hookshot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bridge_hookshot_container_image_self_build else matrix_bridge_hookshot_container_image_registry_prefix_upstream }}"
|
||||
matrix_bridge_hookshot_container_image_registry_prefix_upstream: "{{ matrix_bridge_hookshot_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bridge_hookshot_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
|
||||
matrix_hookshot_base_path: "{{ matrix_base_data_path }}/hookshot"
|
||||
matrix_bridge_hookshot_base_path: "{{ matrix_base_data_path }}/hookshot"
|
||||
|
||||
matrix_hookshot_container_src_files_path: "{{ matrix_hookshot_base_path }}/docker-src"
|
||||
matrix_bridge_hookshot_container_src_files_path: "{{ matrix_bridge_hookshot_base_path }}/docker-src"
|
||||
|
||||
matrix_hookshot_homeserver_address: ""
|
||||
matrix_hookshot_container_url: 'matrix-hookshot'
|
||||
matrix_bridge_hookshot_homeserver_address: ""
|
||||
matrix_bridge_hookshot_container_url: 'matrix-hookshot'
|
||||
|
||||
# Sets the localpart of the Matrix ID for the hookshot bot
|
||||
matrix_hookshot_bot_localpart: "hookshot"
|
||||
matrix_bridge_hookshot_bot_localpart: "hookshot"
|
||||
|
||||
matrix_hookshot_public_scheme: https
|
||||
matrix_hookshot_public_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
matrix_hookshot_public_endpoint: /hookshot
|
||||
matrix_bridge_hookshot_public_scheme: https
|
||||
matrix_bridge_hookshot_public_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
matrix_bridge_hookshot_public_endpoint: /hookshot
|
||||
|
||||
# This is the base URL prefix shared among all endpoints.
|
||||
#
|
||||
# It intentionally does not include the path prefix (`matrix_hookshot_public_endpoint`),
|
||||
# because of how it's used - it's concatenated with paths that already use matrix_hookshot_public_endpoint` within them.
|
||||
matrix_hookshot_urlprefix: "{{ matrix_hookshot_public_scheme }}://{{ matrix_hookshot_public_hostname }}"
|
||||
# It intentionally does not include the path prefix (`matrix_bridge_hookshot_public_endpoint`),
|
||||
# because of how it's used - it's concatenated with paths that already use matrix_bridge_hookshot_public_endpoint` within them.
|
||||
matrix_bridge_hookshot_urlprefix: "{{ matrix_bridge_hookshot_public_scheme }}://{{ matrix_bridge_hookshot_public_hostname }}"
|
||||
|
||||
# There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
|
||||
matrix_hookshot_appservice_port: 9993
|
||||
matrix_hookshot_appservice_hostname: "{{ matrix_hookshot_public_hostname }}"
|
||||
matrix_hookshot_appservice_endpoint: "{{ matrix_hookshot_public_endpoint }}/_matrix/app"
|
||||
# There is no need to edit ports. use matrix_bridge_hookshot_container_http_host_bind_ports below to expose ports instead.
|
||||
matrix_bridge_hookshot_appservice_port: 9993
|
||||
matrix_bridge_hookshot_appservice_hostname: "{{ matrix_bridge_hookshot_public_hostname }}"
|
||||
matrix_bridge_hookshot_appservice_endpoint: "{{ matrix_bridge_hookshot_public_endpoint }}/_matrix/app"
|
||||
|
||||
# The variables below control the Redis cache parameters.
|
||||
# Using caching is required when encryption is enabled (`matrix_hookshot_encryption_enabled`)
|
||||
# Using caching is required when encryption is enabled (`matrix_bridge_hookshot_encryption_enabled`)
|
||||
# but may also speed up Hookshot startup, etc.
|
||||
matrix_hookshot_cache_redis_host: ''
|
||||
matrix_hookshot_cache_redis_port: "6379"
|
||||
matrix_hookshot_cache_redisUri: "{{ ('redis://' + matrix_hookshot_cache_redis_host + ':' + matrix_hookshot_cache_redis_port) if matrix_hookshot_cache_redis_host else '' }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_cache_redis_host: ''
|
||||
matrix_bridge_hookshot_cache_redis_port: "6379"
|
||||
matrix_bridge_hookshot_cache_redisUri: "{{ ('redis://' + matrix_bridge_hookshot_cache_redis_host + ':' + matrix_bridge_hookshot_cache_redis_port) if matrix_bridge_hookshot_cache_redis_host else '' }}" # noqa var-naming
|
||||
|
||||
# Controls whether the end-to-bridge encryption support is enabled.
|
||||
# This requires that:
|
||||
# - the homeserver to support MSC2409 (to-device messages for appservices) and MSC3202 (encryption-related appservice transaction extensions), and to have them enabled.
|
||||
# These are typically experimental homeserver features which are disabled by default, so they usually need to be enabled explicitly via homeserver-specific configuration.
|
||||
# - Hookshot to be pointed at a Redis instance via the `matrix_hookshot_cache_redis*` variables. Note that this is configured automatically by the playbook when encryption is enabled.
|
||||
# - Hookshot to be pointed at a Redis instance via the `matrix_bridge_hookshot_cache_redis*` variables. Note that this is configured automatically by the playbook when encryption is enabled.
|
||||
# See: https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html
|
||||
# NOTE: Encryption is not currently (2025-12-30) supported when using MAS (https://github.com/matrix-org/matrix-hookshot/issues/1084)
|
||||
matrix_hookshot_encryption_enabled: "{{ matrix_bridges_encryption_enabled }}"
|
||||
matrix_bridge_hookshot_encryption_enabled: "{{ matrix_bridges_encryption_enabled }}"
|
||||
|
||||
# Controls whether metrics are enabled in the bridge configuration.
|
||||
# Enabling them is usually enough for a local (in-container) Prometheus to consume them.
|
||||
# If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_hookshot_metrics_proxying_enabled`.
|
||||
matrix_hookshot_metrics_enabled: false
|
||||
# If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_bridge_hookshot_metrics_proxying_enabled`.
|
||||
matrix_bridge_hookshot_metrics_enabled: false
|
||||
|
||||
# Controls whether Hookshot metrics should be proxied (exposed) on a public URL.
|
||||
matrix_hookshot_metrics_proxying_enabled: false
|
||||
matrix_hookshot_metrics_proxying_hostname: ''
|
||||
matrix_hookshot_metrics_proxying_path_prefix: ''
|
||||
matrix_bridge_hookshot_metrics_proxying_enabled: false
|
||||
matrix_bridge_hookshot_metrics_proxying_hostname: ''
|
||||
matrix_bridge_hookshot_metrics_proxying_path_prefix: ''
|
||||
|
||||
# There is no need to edit ports.
|
||||
# Read the documentation to learn about using Hookshot metrics with external Prometheus
|
||||
# If you still want something different, use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
|
||||
matrix_hookshot_metrics_port: 9001
|
||||
# If you still want something different, use matrix_bridge_hookshot_container_http_host_bind_ports below to expose ports instead.
|
||||
matrix_bridge_hookshot_metrics_port: 9001
|
||||
|
||||
# There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
|
||||
matrix_hookshot_webhook_port: 9000
|
||||
matrix_hookshot_webhook_hostname: "{{ matrix_hookshot_public_hostname }}"
|
||||
matrix_hookshot_webhook_endpoint: "{{ matrix_hookshot_public_endpoint }}/webhooks"
|
||||
# There is no need to edit ports. use matrix_bridge_hookshot_container_http_host_bind_ports below to expose ports instead.
|
||||
matrix_bridge_hookshot_webhook_port: 9000
|
||||
matrix_bridge_hookshot_webhook_hostname: "{{ matrix_bridge_hookshot_public_hostname }}"
|
||||
matrix_bridge_hookshot_webhook_endpoint: "{{ matrix_bridge_hookshot_public_endpoint }}/webhooks"
|
||||
|
||||
|
||||
# You need to create a GitHub app to enable this and fill in the empty variables below
|
||||
# https://matrix-org.github.io/matrix-hookshot/setup/github.html
|
||||
matrix_hookshot_github_enabled: false
|
||||
matrix_hookshot_github_auth_id: ''
|
||||
matrix_bridge_hookshot_github_enabled: false
|
||||
matrix_bridge_hookshot_github_auth_id: ''
|
||||
# Set this variable to the contents of the generated and downloaded GitHub private key:
|
||||
# matrix_hookshot_github_private_key: |
|
||||
# matrix_bridge_hookshot_github_private_key: |
|
||||
# -----BEGIN RSA PRIVATE KEY-----
|
||||
# 0123456789ABCDEF…
|
||||
# -----END RSA PRIVATE KEY-----
|
||||
# Alternatively, leave it empty and do it manually or use matrix-aux instead, see docs/matrix-bridge-hookshot.md for info.
|
||||
matrix_hookshot_github_private_key: ''
|
||||
matrix_hookshot_github_private_key_file: 'private-key.pem'
|
||||
matrix_hookshot_github_webhook_secret: '' # "Webhook secret" on the GitHub App page
|
||||
matrix_hookshot_github_oauth_enabled: false
|
||||
matrix_bridge_hookshot_github_private_key: ''
|
||||
matrix_bridge_hookshot_github_private_key_file: 'private-key.pem'
|
||||
matrix_bridge_hookshot_github_webhook_secret: '' # "Webhook secret" on the GitHub App page
|
||||
matrix_bridge_hookshot_github_oauth_enabled: false
|
||||
# You need to configure oauth settings only when you have enabled oauth (optional)
|
||||
matrix_hookshot_github_oauth_client_id: '' # "Client ID" on the GitHub App page
|
||||
matrix_hookshot_github_oauth_client_secret: '' # "Client Secret" on the GitHub App page
|
||||
# Default value of matrix_hookshot_github_oauth_endpoint: "/hookshot/webhooks/oauth"
|
||||
matrix_hookshot_github_oauth_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/oauth"
|
||||
matrix_hookshot_github_oauth_redirect_uri: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_github_oauth_endpoint }}"
|
||||
matrix_bridge_hookshot_github_oauth_client_id: '' # "Client ID" on the GitHub App page
|
||||
matrix_bridge_hookshot_github_oauth_client_secret: '' # "Client Secret" on the GitHub App page
|
||||
# Default value of matrix_bridge_hookshot_github_oauth_endpoint: "/hookshot/webhooks/oauth"
|
||||
matrix_bridge_hookshot_github_oauth_endpoint: "{{ matrix_bridge_hookshot_webhook_endpoint }}/oauth"
|
||||
matrix_bridge_hookshot_github_oauth_redirect_uri: "{{ matrix_bridge_hookshot_urlprefix }}{{ matrix_bridge_hookshot_github_oauth_endpoint }}"
|
||||
|
||||
# These are the default settings mentioned here and don't need to be modified: https://matrix-org.github.io/matrix-hookshot/usage/room_configuration/github_repo.html#configuration
|
||||
matrix_hookshot_github_defaultOptions_ignoreHooks: {} # noqa var-naming
|
||||
matrix_hookshot_github_defaultOptions_commandPrefix: '!gh' # noqa var-naming
|
||||
matrix_hookshot_github_defaultOptions_showIssueRoomLink: false # noqa var-naming
|
||||
matrix_hookshot_github_defaultOptions_prDiff: # noqa var-naming
|
||||
matrix_bridge_hookshot_github_defaultOptions_ignoreHooks: {} # noqa var-naming
|
||||
matrix_bridge_hookshot_github_defaultOptions_commandPrefix: '!gh' # noqa var-naming
|
||||
matrix_bridge_hookshot_github_defaultOptions_showIssueRoomLink: false # noqa var-naming
|
||||
matrix_bridge_hookshot_github_defaultOptions_prDiff: # noqa var-naming
|
||||
enabled: false
|
||||
maxLines: 5
|
||||
matrix_hookshot_github_defaultOptions_includingLabels: '' # noqa var-naming
|
||||
matrix_hookshot_github_defaultOptions_excludingLabels: '' # noqa var-naming
|
||||
matrix_hookshot_github_defaultOptions_hotlinkIssues_prefix: "#" # noqa var-naming
|
||||
matrix_bridge_hookshot_github_defaultOptions_includingLabels: '' # noqa var-naming
|
||||
matrix_bridge_hookshot_github_defaultOptions_excludingLabels: '' # noqa var-naming
|
||||
matrix_bridge_hookshot_github_defaultOptions_hotlinkIssues_prefix: "#" # noqa var-naming
|
||||
|
||||
|
||||
matrix_hookshot_gitlab_enabled: true
|
||||
matrix_bridge_hookshot_gitlab_enabled: true
|
||||
# Optionally add your instances, e.g.
|
||||
# matrix_hookshot_gitlab_instances:
|
||||
# matrix_bridge_hookshot_gitlab_instances:
|
||||
# gitlab.com:
|
||||
# url: https://gitlab.com
|
||||
# mygitlab:
|
||||
# url: https://gitlab.example.org
|
||||
matrix_hookshot_gitlab_instances:
|
||||
matrix_bridge_hookshot_gitlab_instances:
|
||||
gitlab.com:
|
||||
url: https://gitlab.com
|
||||
|
||||
# This will be the "Secret token" you have to enter into all GitLab instances for authentication
|
||||
matrix_hookshot_gitlab_webhook_secret: ''
|
||||
matrix_hookshot_gitlab_webhook_publicUrl: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_webhook_endpoint }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_gitlab_webhook_secret: ''
|
||||
matrix_bridge_hookshot_gitlab_webhook_publicUrl: "{{ matrix_bridge_hookshot_urlprefix }}{{ matrix_bridge_hookshot_webhook_endpoint }}" # noqa var-naming
|
||||
|
||||
|
||||
matrix_hookshot_figma_enabled: false
|
||||
# Default value of matrix_hookshot_figma_endpoint: "/hookshot/webhooks/figma/webhook"
|
||||
matrix_hookshot_figma_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/figma/webhook"
|
||||
matrix_hookshot_figma_publicUrl: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_figma_endpoint }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_figma_enabled: false
|
||||
# Default value of matrix_bridge_hookshot_figma_endpoint: "/hookshot/webhooks/figma/webhook"
|
||||
matrix_bridge_hookshot_figma_endpoint: "{{ matrix_bridge_hookshot_webhook_endpoint }}/figma/webhook"
|
||||
matrix_bridge_hookshot_figma_publicUrl: "{{ matrix_bridge_hookshot_urlprefix }}{{ matrix_bridge_hookshot_figma_endpoint }}" # noqa var-naming
|
||||
# To bridge figma webhooks, you need to configure one of multiple instances like this:
|
||||
# matrix_hookshot_figma_instances:
|
||||
# matrix_bridge_hookshot_figma_instances:
|
||||
# your-instance:
|
||||
# teamId: your-team-id
|
||||
# accessToken: your-personal-access-token
|
||||
# passcode: your-webhook-passcode
|
||||
matrix_hookshot_figma_instances: {}
|
||||
matrix_bridge_hookshot_figma_instances: {}
|
||||
|
||||
matrix_hookshot_jira_enabled: false
|
||||
matrix_bridge_hookshot_jira_enabled: false
|
||||
# Get the these values from https://matrix-org.github.io/matrix-hookshot/setup/jira.html#jira-oauth
|
||||
matrix_hookshot_jira_webhook_secret: ''
|
||||
matrix_hookshot_jira_oauth_enabled: false
|
||||
matrix_hookshot_jira_oauth_client_id: ''
|
||||
matrix_hookshot_jira_oauth_client_secret: ''
|
||||
# Default value of matrix_hookshot_jira_oauth_endpoint: "/hookshot/webhooks/jira/oauth"
|
||||
matrix_hookshot_jira_oauth_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/jira/oauth"
|
||||
matrix_hookshot_jira_oauth_redirect_uri: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_jira_oauth_endpoint }}"
|
||||
matrix_bridge_hookshot_jira_webhook_secret: ''
|
||||
matrix_bridge_hookshot_jira_oauth_enabled: false
|
||||
matrix_bridge_hookshot_jira_oauth_client_id: ''
|
||||
matrix_bridge_hookshot_jira_oauth_client_secret: ''
|
||||
# Default value of matrix_bridge_hookshot_jira_oauth_endpoint: "/hookshot/webhooks/jira/oauth"
|
||||
matrix_bridge_hookshot_jira_oauth_endpoint: "{{ matrix_bridge_hookshot_webhook_endpoint }}/jira/oauth"
|
||||
matrix_bridge_hookshot_jira_oauth_redirect_uri: "{{ matrix_bridge_hookshot_urlprefix }}{{ matrix_bridge_hookshot_jira_oauth_endpoint }}"
|
||||
|
||||
|
||||
# No need to change these
|
||||
matrix_hookshot_generic_enabled: true
|
||||
matrix_hookshot_generic_outbound: true
|
||||
matrix_hookshot_generic_enableHttpGet: false # noqa var-naming
|
||||
# Default value of matrix_hookshot_generic_endpoint: "/hookshot/webhooks"
|
||||
matrix_hookshot_generic_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/webhook"
|
||||
matrix_bridge_hookshot_generic_enabled: true
|
||||
matrix_bridge_hookshot_generic_outbound: true
|
||||
matrix_bridge_hookshot_generic_enableHttpGet: false # noqa var-naming
|
||||
# Default value of matrix_bridge_hookshot_generic_endpoint: "/hookshot/webhooks"
|
||||
matrix_bridge_hookshot_generic_endpoint: "{{ matrix_bridge_hookshot_webhook_endpoint }}/webhook"
|
||||
# urlprefix gets updated with protocol & port in group_vars/matrix_servers
|
||||
matrix_hookshot_generic_urlPrefix: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_generic_endpoint }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_generic_urlPrefix: "{{ matrix_bridge_hookshot_urlprefix }}{{ matrix_bridge_hookshot_generic_endpoint }}" # noqa var-naming
|
||||
# If you're also using matrix-appservice-webhooks, take care that these prefixes don't overlap
|
||||
matrix_hookshot_generic_userIdPrefix: '_webhooks_' # noqa var-naming
|
||||
matrix_hookshot_generic_allowJsTransformationFunctions: false # noqa var-naming
|
||||
matrix_hookshot_generic_waitForComplete: false # noqa var-naming
|
||||
matrix_hookshot_generic_sendExpiryNotice: false # noqa var-naming
|
||||
matrix_hookshot_generic_requireExpiryTime: false # noqa var-naming
|
||||
matrix_hookshot_generic_maxExpiryTime: "30d" # noqa var-naming
|
||||
matrix_bridge_hookshot_generic_userIdPrefix: '_webhooks_' # noqa var-naming
|
||||
matrix_bridge_hookshot_generic_allowJsTransformationFunctions: false # noqa var-naming
|
||||
matrix_bridge_hookshot_generic_waitForComplete: false # noqa var-naming
|
||||
matrix_bridge_hookshot_generic_sendExpiryNotice: false # noqa var-naming
|
||||
matrix_bridge_hookshot_generic_requireExpiryTime: false # noqa var-naming
|
||||
matrix_bridge_hookshot_generic_maxExpiryTime: "30d" # noqa var-naming
|
||||
|
||||
|
||||
matrix_hookshot_feeds_enabled: true
|
||||
matrix_hookshot_feeds_pollIntervalSeconds: 600 # noqa var-naming
|
||||
matrix_hookshot_feeds_pollTimeoutSeconds: 30 # noqa var-naming
|
||||
matrix_bridge_hookshot_feeds_enabled: true
|
||||
matrix_bridge_hookshot_feeds_pollIntervalSeconds: 600 # noqa var-naming
|
||||
matrix_bridge_hookshot_feeds_pollTimeoutSeconds: 30 # noqa var-naming
|
||||
|
||||
# Valid values: error, warn, info, debug
|
||||
matrix_hookshot_logging_level: warn
|
||||
matrix_bridge_hookshot_logging_level: warn
|
||||
|
||||
matrix_hookshot_widgets_enabled: true
|
||||
matrix_hookshot_widgets_port: 9003
|
||||
matrix_hookshot_widgets_addToAdminRooms: false # default off as it is a beta feature # noqa var-naming
|
||||
matrix_hookshot_widgets_roomSetupWidget_enabled: true # noqa var-naming
|
||||
matrix_hookshot_widgets_roomSetupWidget_addOnInvite: false # noqa var-naming
|
||||
matrix_bridge_hookshot_widgets_enabled: true
|
||||
matrix_bridge_hookshot_widgets_port: 9003
|
||||
matrix_bridge_hookshot_widgets_addToAdminRooms: false # default off as it is a beta feature # noqa var-naming
|
||||
matrix_bridge_hookshot_widgets_roomSetupWidget_enabled: true # noqa var-naming
|
||||
matrix_bridge_hookshot_widgets_roomSetupWidget_addOnInvite: false # noqa var-naming
|
||||
# `disallowedIpRanges` describes which IP ranges should be disallowed when resolving homeserver IP addresses (for security reasons). Unless you know what you are doing, it is recommended to not include this key. The following IPs are blocked by default, unless you supply another list.
|
||||
# matrix_hookshot_widgets_disallowedIpRanges:
|
||||
# matrix_bridge_hookshot_widgets_disallowedIpRanges:
|
||||
# - 127.0.0.0/8
|
||||
# - 10.0.0.0/8
|
||||
# - 172.16.0.0/12
|
||||
@@ -220,18 +220,18 @@ matrix_hookshot_widgets_roomSetupWidget_addOnInvite: false # noqa var-naming
|
||||
# - 2001:db8::/32
|
||||
# - ff00::/8
|
||||
# - fec0::/10
|
||||
matrix_hookshot_widgets_disallowedIpRanges: '' # noqa var-naming
|
||||
matrix_hookshot_widgets_internal: "/widgetapi"
|
||||
matrix_hookshot_widgets_hostname: "{{ matrix_hookshot_public_hostname }}"
|
||||
matrix_hookshot_widgets_endpoint: "{{ matrix_hookshot_public_endpoint }}{{ matrix_hookshot_widgets_internal }}"
|
||||
matrix_hookshot_widgets_publicUrl: "{{ matrix_hookshot_urlprefix }}{{ matrix_hookshot_widgets_endpoint }}/v1/static/" # noqa var-naming
|
||||
matrix_hookshot_widgets_branding_widgetTitle: "Hookshot Configuration" # noqa var-naming
|
||||
matrix_bridge_hookshot_widgets_disallowedIpRanges: '' # noqa var-naming
|
||||
matrix_bridge_hookshot_widgets_internal: "/widgetapi"
|
||||
matrix_bridge_hookshot_widgets_hostname: "{{ matrix_bridge_hookshot_public_hostname }}"
|
||||
matrix_bridge_hookshot_widgets_endpoint: "{{ matrix_bridge_hookshot_public_endpoint }}{{ matrix_bridge_hookshot_widgets_internal }}"
|
||||
matrix_bridge_hookshot_widgets_publicUrl: "{{ matrix_bridge_hookshot_urlprefix }}{{ matrix_bridge_hookshot_widgets_endpoint }}/v1/static/" # noqa var-naming
|
||||
matrix_bridge_hookshot_widgets_branding_widgetTitle: "Hookshot Configuration" # noqa var-naming
|
||||
|
||||
|
||||
# You can configure access to the bridge as documented here https://matrix-org.github.io/matrix-hookshot/setup.html#permissions
|
||||
# When empty, the default permissions are applied.
|
||||
# Example:
|
||||
# matrix_hookshot_permissions:
|
||||
# matrix_bridge_hookshot_permissions:
|
||||
# - actor: *
|
||||
# services:
|
||||
# - service: *
|
||||
@@ -240,148 +240,148 @@ matrix_hookshot_widgets_branding_widgetTitle: "Hookshot Configuration" # noqa
|
||||
# services:
|
||||
# - service: "*"
|
||||
# level: admin
|
||||
matrix_hookshot_permissions: []
|
||||
matrix_bridge_hookshot_permissions: []
|
||||
|
||||
# Static connections that can be configured by an administrator, as documented here:
|
||||
# https://matrix-org.github.io/matrix-hookshot/latest/usage/static_connections.html
|
||||
# Currently only generic webhooks are supported.
|
||||
# Example:
|
||||
# matrix_hookshot_connections:
|
||||
# matrix_bridge_hookshot_connections:
|
||||
# - connectionType: uk.half-shot.matrix-hookshot.generic.hook
|
||||
# stateKey: my-unique-webhook-id
|
||||
# roomId: "!room-id"
|
||||
# state:
|
||||
# name: My Static Webhook
|
||||
matrix_hookshot_connections: []
|
||||
matrix_bridge_hookshot_connections: []
|
||||
|
||||
matrix_hookshot_bot_displayname: Hookshot Bot
|
||||
matrix_hookshot_bot_avatar: 'mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d'
|
||||
matrix_bridge_hookshot_bot_displayname: Hookshot Bot
|
||||
matrix_bridge_hookshot_bot_avatar: 'mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d'
|
||||
|
||||
matrix_hookshot_container_network: ""
|
||||
matrix_bridge_hookshot_container_network: ""
|
||||
|
||||
# A list of extra arguments to pass to the container
|
||||
matrix_hookshot_container_extra_arguments: []
|
||||
matrix_bridge_hookshot_container_extra_arguments: []
|
||||
|
||||
# matrix_hookshot_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
|
||||
# matrix_bridge_hookshot_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
|
||||
# See `../templates/labels.j2` for details.
|
||||
#
|
||||
# To inject your own other container labels, see `matrix_hookshot_container_labels_additional_labels`.
|
||||
matrix_hookshot_container_labels_traefik_enabled: true
|
||||
matrix_hookshot_container_labels_traefik_docker_network: "{{ matrix_hookshot_container_network }}"
|
||||
matrix_hookshot_container_labels_traefik_entrypoints: web-secure
|
||||
matrix_hookshot_container_labels_traefik_tls_certResolver: default # noqa var-naming
|
||||
# To inject your own other container labels, see `matrix_bridge_hookshot_container_labels_additional_labels`.
|
||||
matrix_bridge_hookshot_container_labels_traefik_enabled: true
|
||||
matrix_bridge_hookshot_container_labels_traefik_docker_network: "{{ matrix_bridge_hookshot_container_network }}"
|
||||
matrix_bridge_hookshot_container_labels_traefik_entrypoints: web-secure
|
||||
matrix_bridge_hookshot_container_labels_traefik_tls_certResolver: default # noqa var-naming
|
||||
|
||||
# Controls whether labels will be added that expose Hookshot's webhooks endpoint
|
||||
matrix_hookshot_container_labels_webhooks_enabled: true
|
||||
matrix_hookshot_container_labels_webhooks_traefik_rule: "Host(`{{ matrix_hookshot_webhook_hostname }}`) && PathPrefix(`{{ matrix_hookshot_webhook_endpoint }}`)"
|
||||
matrix_hookshot_container_labels_webhooks_traefik_priority: 0
|
||||
matrix_hookshot_container_labels_webhooks_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_hookshot_container_labels_webhooks_traefik_tls: "{{ matrix_hookshot_container_labels_webhooks_traefik_entrypoints != 'web' }}"
|
||||
matrix_hookshot_container_labels_webhooks_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_container_labels_webhooks_enabled: true
|
||||
matrix_bridge_hookshot_container_labels_webhooks_traefik_rule: "Host(`{{ matrix_bridge_hookshot_webhook_hostname }}`) && PathPrefix(`{{ matrix_bridge_hookshot_webhook_endpoint }}`)"
|
||||
matrix_bridge_hookshot_container_labels_webhooks_traefik_priority: 0
|
||||
matrix_bridge_hookshot_container_labels_webhooks_traefik_entrypoints: "{{ matrix_bridge_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_bridge_hookshot_container_labels_webhooks_traefik_tls: "{{ matrix_bridge_hookshot_container_labels_webhooks_traefik_entrypoints != 'web' }}"
|
||||
matrix_bridge_hookshot_container_labels_webhooks_traefik_tls_certResolver: "{{ matrix_bridge_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
|
||||
# Controls whether labels will be added that expose Hookshot's appservice endpoint
|
||||
matrix_hookshot_container_labels_appservice_enabled: true
|
||||
matrix_hookshot_container_labels_appservice_traefik_rule: "Host(`{{ matrix_hookshot_appservice_hostname }}`) && PathPrefix(`{{ matrix_hookshot_appservice_endpoint }}`)"
|
||||
matrix_hookshot_container_labels_appservice_traefik_priority: 0
|
||||
matrix_hookshot_container_labels_appservice_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_hookshot_container_labels_appservice_traefik_tls: "{{ matrix_hookshot_container_labels_appservice_traefik_entrypoints != 'web' }}"
|
||||
matrix_hookshot_container_labels_appservice_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_container_labels_appservice_enabled: true
|
||||
matrix_bridge_hookshot_container_labels_appservice_traefik_rule: "Host(`{{ matrix_bridge_hookshot_appservice_hostname }}`) && PathPrefix(`{{ matrix_bridge_hookshot_appservice_endpoint }}`)"
|
||||
matrix_bridge_hookshot_container_labels_appservice_traefik_priority: 0
|
||||
matrix_bridge_hookshot_container_labels_appservice_traefik_entrypoints: "{{ matrix_bridge_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_bridge_hookshot_container_labels_appservice_traefik_tls: "{{ matrix_bridge_hookshot_container_labels_appservice_traefik_entrypoints != 'web' }}"
|
||||
matrix_bridge_hookshot_container_labels_appservice_traefik_tls_certResolver: "{{ matrix_bridge_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
|
||||
# Controls whether labels will be added that expose Hookshot's widgets endpoint
|
||||
matrix_hookshot_container_labels_widgets_enabled: "{{ matrix_hookshot_widgets_enabled }}"
|
||||
matrix_hookshot_container_labels_widgets_traefik_rule: "Host(`{{ matrix_hookshot_widgets_hostname }}`) && PathPrefix(`{{ matrix_hookshot_widgets_endpoint }}`)"
|
||||
matrix_hookshot_container_labels_widgets_traefik_priority: 0
|
||||
matrix_hookshot_container_labels_widgets_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_hookshot_container_labels_widgets_traefik_tls: "{{ matrix_hookshot_container_labels_widgets_traefik_entrypoints != 'web' }}"
|
||||
matrix_hookshot_container_labels_widgets_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_container_labels_widgets_enabled: "{{ matrix_bridge_hookshot_widgets_enabled }}"
|
||||
matrix_bridge_hookshot_container_labels_widgets_traefik_rule: "Host(`{{ matrix_bridge_hookshot_widgets_hostname }}`) && PathPrefix(`{{ matrix_bridge_hookshot_widgets_endpoint }}`)"
|
||||
matrix_bridge_hookshot_container_labels_widgets_traefik_priority: 0
|
||||
matrix_bridge_hookshot_container_labels_widgets_traefik_entrypoints: "{{ matrix_bridge_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_bridge_hookshot_container_labels_widgets_traefik_tls: "{{ matrix_bridge_hookshot_container_labels_widgets_traefik_entrypoints != 'web' }}"
|
||||
matrix_bridge_hookshot_container_labels_widgets_traefik_tls_certResolver: "{{ matrix_bridge_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
|
||||
# Controls whether labels will be added that expose Hookshot's metrics endpoint
|
||||
matrix_hookshot_container_labels_metrics_enabled: "{{ matrix_hookshot_metrics_enabled and matrix_hookshot_metrics_proxying_enabled }}"
|
||||
matrix_hookshot_container_labels_metrics_traefik_rule: "Host(`{{ matrix_hookshot_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_hookshot_metrics_proxying_path_prefix }}`)"
|
||||
matrix_hookshot_container_labels_metrics_traefik_priority: 0
|
||||
matrix_hookshot_container_labels_metrics_traefik_entrypoints: "{{ matrix_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_hookshot_container_labels_metrics_traefik_tls: "{{ matrix_hookshot_container_labels_metrics_traefik_entrypoints != 'web' }}"
|
||||
matrix_hookshot_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: false
|
||||
matrix_bridge_hookshot_container_labels_metrics_enabled: "{{ matrix_bridge_hookshot_metrics_enabled and matrix_bridge_hookshot_metrics_proxying_enabled }}"
|
||||
matrix_bridge_hookshot_container_labels_metrics_traefik_rule: "Host(`{{ matrix_bridge_hookshot_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_bridge_hookshot_metrics_proxying_path_prefix }}`)"
|
||||
matrix_bridge_hookshot_container_labels_metrics_traefik_priority: 0
|
||||
matrix_bridge_hookshot_container_labels_metrics_traefik_entrypoints: "{{ matrix_bridge_hookshot_container_labels_traefik_entrypoints }}"
|
||||
matrix_bridge_hookshot_container_labels_metrics_traefik_tls: "{{ matrix_bridge_hookshot_container_labels_metrics_traefik_entrypoints != 'web' }}"
|
||||
matrix_bridge_hookshot_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_bridge_hookshot_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
matrix_bridge_hookshot_container_labels_metrics_middleware_basic_auth_enabled: false
|
||||
# See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users
|
||||
matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: ''
|
||||
matrix_bridge_hookshot_container_labels_metrics_middleware_basic_auth_users: ''
|
||||
|
||||
# matrix_hookshot_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
|
||||
# matrix_bridge_hookshot_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
|
||||
# See `../templates/labels.j2` for details.
|
||||
#
|
||||
# Example:
|
||||
# matrix_hookshot_container_labels_additional_labels: |
|
||||
# matrix_bridge_hookshot_container_labels_additional_labels: |
|
||||
# my.label=1
|
||||
# another.label="here"
|
||||
matrix_hookshot_container_labels_additional_labels: ''
|
||||
matrix_bridge_hookshot_container_labels_additional_labels: ''
|
||||
|
||||
# List of systemd services that service depends on.
|
||||
matrix_hookshot_systemd_required_services_list: "{{ matrix_hookshot_systemd_required_services_list_default + matrix_hookshot_systemd_required_services_list_auto + matrix_hookshot_systemd_required_services_list_custom }}"
|
||||
matrix_hookshot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
|
||||
matrix_hookshot_systemd_required_services_list_auto: []
|
||||
matrix_hookshot_systemd_required_services_list_custom: []
|
||||
matrix_bridge_hookshot_systemd_required_services_list: "{{ matrix_bridge_hookshot_systemd_required_services_list_default + matrix_bridge_hookshot_systemd_required_services_list_auto + matrix_bridge_hookshot_systemd_required_services_list_custom }}"
|
||||
matrix_bridge_hookshot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
|
||||
matrix_bridge_hookshot_systemd_required_services_list_auto: []
|
||||
matrix_bridge_hookshot_systemd_required_services_list_custom: []
|
||||
|
||||
# List of systemd services that service wants
|
||||
matrix_hookshot_systemd_wanted_services_list: []
|
||||
matrix_bridge_hookshot_systemd_wanted_services_list: []
|
||||
|
||||
# List of ports to bind to the host to expose them directly.
|
||||
# Supply docker port bind arguments in a list like this:
|
||||
#
|
||||
# matrix_hookshot_container_http_host_bind_ports:
|
||||
# - "127.0.0.1:9999:{{ matrix_hookshot_metrics_port }}"
|
||||
# matrix_bridge_hookshot_container_http_host_bind_ports:
|
||||
# - "127.0.0.1:9999:{{ matrix_bridge_hookshot_metrics_port }}"
|
||||
#
|
||||
# Above example will bind the metrics port in the container to port 9999 on localhost.
|
||||
matrix_hookshot_container_http_host_bind_ports: []
|
||||
matrix_bridge_hookshot_container_http_host_bind_ports: []
|
||||
|
||||
# These tokens will be set automatically
|
||||
matrix_hookshot_appservice_token: ''
|
||||
matrix_hookshot_homeserver_token: ''
|
||||
matrix_bridge_hookshot_appservice_token: ''
|
||||
matrix_bridge_hookshot_homeserver_token: ''
|
||||
|
||||
# Default 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 `matrixhookshot_configuration_extension_yaml`)
|
||||
# or completely replace this variable with your own template.
|
||||
matrix_hookshot_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
|
||||
matrix_bridge_hookshot_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
|
||||
|
||||
matrix_hookshot_configuration_extension_yaml: |
|
||||
matrix_bridge_hookshot_configuration_extension_yaml: |
|
||||
# Your custom YAML configuration goes here.
|
||||
# This configuration extends the default starting configuration (`matrix_hookshot_configuration_yaml`).
|
||||
# This configuration extends the default starting configuration (`matrix_bridge_hookshot_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_hookshot_configuration_yaml`.
|
||||
# completely redefining `matrix_bridge_hookshot_configuration_yaml`.
|
||||
|
||||
matrix_hookshot_configuration_extension: "{{ matrix_hookshot_configuration_extension_yaml | from_yaml if matrix_hookshot_configuration_extension_yaml | from_yaml is mapping else {} }}"
|
||||
matrix_bridge_hookshot_configuration_extension: "{{ matrix_bridge_hookshot_configuration_extension_yaml | from_yaml if matrix_bridge_hookshot_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_hookshot_configuration_yaml`.
|
||||
matrix_hookshot_configuration: "{{ matrix_hookshot_configuration_yaml | from_yaml | combine(matrix_hookshot_configuration_extension, recursive=True) }}"
|
||||
# You most likely don't need to touch this variable. Instead, see `matrix_bridge_hookshot_configuration_yaml`.
|
||||
matrix_bridge_hookshot_configuration: "{{ matrix_bridge_hookshot_configuration_yaml | from_yaml | combine(matrix_bridge_hookshot_configuration_extension, recursive=True) }}"
|
||||
|
||||
# Default registration 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 `matrixhookshot_registration_extension_yaml`)
|
||||
# or completely replace this variable with your own template.
|
||||
matrix_hookshot_registration_yaml: "{{ lookup('template', 'templates/registration.yml.j2') }}"
|
||||
matrix_bridge_hookshot_registration_yaml: "{{ lookup('template', 'templates/registration.yml.j2') }}"
|
||||
|
||||
matrix_hookshot_registration_extension_yaml: |
|
||||
matrix_bridge_hookshot_registration_extension_yaml: |
|
||||
# Your custom YAML registration goes here.
|
||||
# This registration extends the default starting registration (`matrix_hookshot_registration_yaml`).
|
||||
# This registration extends the default starting registration (`matrix_bridge_hookshot_registration_yaml`).
|
||||
#
|
||||
# You can override individual variables from the default registration, or introduce new ones.
|
||||
#
|
||||
# If you need something more special, you can take full control by
|
||||
# completely redefining `matrix_hookshot_registration_yaml`.
|
||||
# completely redefining `matrix_bridge_hookshot_registration_yaml`.
|
||||
|
||||
matrix_hookshot_registration_extension: "{{ matrix_hookshot_registration_extension_yaml | from_yaml if matrix_hookshot_registration_extension_yaml | from_yaml is mapping else {} }}"
|
||||
matrix_bridge_hookshot_registration_extension: "{{ matrix_bridge_hookshot_registration_extension_yaml | from_yaml if matrix_bridge_hookshot_registration_extension_yaml | from_yaml is mapping else {} }}"
|
||||
|
||||
# Holds the final registration (a combination of the default and its extension).
|
||||
# You most likely don't need to touch this variable. Instead, see `matrix_hookshot_registration_yaml`.
|
||||
matrix_hookshot_registration: "{{ matrix_hookshot_registration_yaml | from_yaml | combine(matrix_hookshot_registration_extension, recursive=True) }}"
|
||||
# You most likely don't need to touch this variable. Instead, see `matrix_bridge_hookshot_registration_yaml`.
|
||||
matrix_bridge_hookshot_registration: "{{ matrix_bridge_hookshot_registration_yaml | from_yaml | combine(matrix_bridge_hookshot_registration_extension, recursive=True) }}"
|
||||
|
||||
# matrix_hookshot_restart_necessary controls whether the service
|
||||
# matrix_bridge_hookshot_restart_necessary controls whether the service
|
||||
# will be restarted (when true) or merely started (when false) by the
|
||||
# systemd service manager role (when conditional restart is enabled).
|
||||
#
|
||||
@@ -389,4 +389,4 @@ matrix_hookshot_registration: "{{ matrix_hookshot_registration_yaml | from_yaml
|
||||
# any configuration files, the systemd service file, or the container image changed.
|
||||
# The default of `false` means "no restart needed" — appropriate when the role's
|
||||
# installation tasks haven't run (e.g., due to --tags skipping them).
|
||||
matrix_hookshot_restart_necessary: false
|
||||
matrix_bridge_hookshot_restart_necessary: false
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
- tags:
|
||||
- reset-hookshot-encryption
|
||||
block:
|
||||
- when: matrix_hookshot_enabled | bool
|
||||
- when: matrix_bridge_hookshot_enabled | bool
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/reset_encryption.yml"
|
||||
|
||||
- tags:
|
||||
@@ -20,10 +20,10 @@
|
||||
- install-hookshot
|
||||
- install-bridge-hookshot
|
||||
block:
|
||||
- when: matrix_hookshot_enabled | bool
|
||||
- when: matrix_bridge_hookshot_enabled | bool
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml"
|
||||
|
||||
- when: matrix_hookshot_enabled | bool
|
||||
- when: matrix_bridge_hookshot_enabled | bool
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml"
|
||||
|
||||
- tags:
|
||||
@@ -31,5 +31,5 @@
|
||||
- setup-hookshot
|
||||
- setup-bridge-hookshot
|
||||
block:
|
||||
- when: not matrix_hookshot_enabled | bool
|
||||
- when: not matrix_bridge_hookshot_enabled | bool
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
ansible.builtin.service:
|
||||
name: matrix-hookshot
|
||||
state: stopped
|
||||
register: matrix_hookshot_stopped
|
||||
register: matrix_bridge_hookshot_stopped
|
||||
|
||||
# `yarn start:resetcrypto` fails, as described here: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3868
|
||||
# Also related to: https://github.com/matrix-org/matrix-hookshot/issues/730
|
||||
@@ -17,11 +17,11 @@
|
||||
cmd: |
|
||||
{{ devture_systemd_docker_base_host_command_docker }} run
|
||||
--rm
|
||||
--name={{ matrix_hookshot_identifier }}-reset-crypto
|
||||
--name={{ matrix_bridge_hookshot_identifier }}-reset-crypto
|
||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }}
|
||||
--cap-drop=ALL
|
||||
--mount type=bind,src={{ matrix_hookshot_base_path }},dst=/data
|
||||
{{ matrix_hookshot_container_image }}
|
||||
--mount type=bind,src={{ matrix_bridge_hookshot_base_path }},dst=/data
|
||||
{{ matrix_bridge_hookshot_container_image }}
|
||||
node --require source-map-support/register /usr/bin/matrix-hookshot/App/ResetCryptoStore.js
|
||||
changed_when: true
|
||||
|
||||
@@ -31,4 +31,4 @@
|
||||
state: started
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
when: matrix_hookshot_stopped.changed | bool
|
||||
when: matrix_bridge_hookshot_stopped.changed | bool
|
||||
|
||||
@@ -24,50 +24,50 @@
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
with_items:
|
||||
- {path: "{{ matrix_hookshot_base_path }}", when: true}
|
||||
- {path: "{{ matrix_hookshot_container_src_files_path }}", when: "{{ matrix_hookshot_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_bridge_hookshot_base_path }}", when: true}
|
||||
- {path: "{{ matrix_bridge_hookshot_container_src_files_path }}", when: "{{ matrix_bridge_hookshot_container_image_self_build }}"}
|
||||
when: item.when | bool
|
||||
|
||||
- name: Ensure hookshot image is pulled
|
||||
community.docker.docker_image_pull:
|
||||
name: "{{ matrix_hookshot_container_image }}"
|
||||
name: "{{ matrix_bridge_hookshot_container_image }}"
|
||||
pull: always
|
||||
when: not matrix_hookshot_container_image_self_build
|
||||
register: matrix_hookshot_container_image_pull_result
|
||||
when: not matrix_bridge_hookshot_container_image_self_build
|
||||
register: matrix_bridge_hookshot_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
delay: "{{ devture_playbook_help_container_retries_delay }}"
|
||||
until: matrix_hookshot_container_image_pull_result is not failed
|
||||
until: matrix_bridge_hookshot_container_image_pull_result is not failed
|
||||
|
||||
- name: Ensure hookshot repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_hookshot_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_hookshot_container_src_files_path }}"
|
||||
version: "{{ matrix_hookshot_container_image_self_build_branch }}"
|
||||
repo: "{{ matrix_bridge_hookshot_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_bridge_hookshot_container_src_files_path }}"
|
||||
version: "{{ matrix_bridge_hookshot_container_image_self_build_branch }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
register: matrix_hookshot_git_pull_results
|
||||
when: "matrix_hookshot_container_image_self_build | bool"
|
||||
register: matrix_bridge_hookshot_git_pull_results
|
||||
when: "matrix_bridge_hookshot_container_image_self_build | bool"
|
||||
|
||||
- name: Ensure hookshot Docker image is built
|
||||
community.docker.docker_image_build:
|
||||
name: "{{ matrix_hookshot_container_image }}"
|
||||
name: "{{ matrix_bridge_hookshot_container_image }}"
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_hookshot_container_src_files_path }}"
|
||||
path: "{{ matrix_bridge_hookshot_container_src_files_path }}"
|
||||
pull: true
|
||||
rebuild: "{{ 'always' if matrix_hookshot_git_pull_results.changed | bool else 'never' }}"
|
||||
when: "matrix_hookshot_container_image_self_build | bool"
|
||||
register: matrix_hookshot_container_image_build_result
|
||||
rebuild: "{{ 'always' if matrix_bridge_hookshot_git_pull_results.changed | bool else 'never' }}"
|
||||
when: "matrix_bridge_hookshot_container_image_self_build | bool"
|
||||
register: matrix_bridge_hookshot_container_image_build_result
|
||||
|
||||
- name: Check if hookshot passkey exists
|
||||
ansible.builtin.stat:
|
||||
path: "{{ matrix_hookshot_base_path }}/passkey.pem"
|
||||
path: "{{ matrix_bridge_hookshot_base_path }}/passkey.pem"
|
||||
register: hookshot_passkey_file
|
||||
|
||||
- name: Generate hookshot passkey if it doesn't exist
|
||||
ansible.builtin.shell:
|
||||
cmd: "{{ matrix_host_command_openssl }} genpkey -out {{ matrix_hookshot_base_path }}/passkey.pem -outform PEM -algorithm RSA -pkeyopt rsa_keygen_bits:4096"
|
||||
creates: "{{ matrix_hookshot_base_path }}/passkey.pem"
|
||||
cmd: "{{ matrix_host_command_openssl }} genpkey -out {{ matrix_bridge_hookshot_base_path }}/passkey.pem -outform PEM -algorithm RSA -pkeyopt rsa_keygen_bits:4096"
|
||||
creates: "{{ matrix_bridge_hookshot_base_path }}/passkey.pem"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
when: "not hookshot_passkey_file.stat.exists"
|
||||
@@ -79,32 +79,32 @@
|
||||
# See: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5033
|
||||
- name: Ensure hookshot passkey has correct ownership and mode
|
||||
ansible.builtin.file:
|
||||
path: "{{ matrix_hookshot_base_path }}/passkey.pem"
|
||||
path: "{{ matrix_bridge_hookshot_base_path }}/passkey.pem"
|
||||
state: file
|
||||
mode: '0600'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
register: matrix_hookshot_passkey_result
|
||||
register: matrix_bridge_hookshot_passkey_result
|
||||
|
||||
- name: Ensure hookshot config.yml installed if provided
|
||||
ansible.builtin.copy:
|
||||
content: "{{ matrix_hookshot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||
dest: "{{ matrix_hookshot_base_path }}/config.yml"
|
||||
content: "{{ matrix_bridge_hookshot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||
dest: "{{ matrix_bridge_hookshot_base_path }}/config.yml"
|
||||
mode: '0644'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
register: matrix_hookshot_config_result
|
||||
register: matrix_bridge_hookshot_config_result
|
||||
|
||||
- name: Validate hookshot config.yml
|
||||
ansible.builtin.command:
|
||||
cmd: |
|
||||
{{ devture_systemd_docker_base_host_command_docker }} run
|
||||
--rm
|
||||
--name={{ matrix_hookshot_container_url }}-validate
|
||||
--name={{ matrix_bridge_hookshot_container_url }}-validate
|
||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }}
|
||||
--cap-drop=ALL
|
||||
--mount type=bind,src={{ matrix_hookshot_base_path }}/config.yml,dst=/config.yml,ro
|
||||
{{ matrix_hookshot_container_image }} node config/Config.js /config.yml
|
||||
--mount type=bind,src={{ matrix_bridge_hookshot_base_path }}/config.yml,dst=/config.yml,ro
|
||||
{{ matrix_bridge_hookshot_container_image }} node config/Config.js /config.yml
|
||||
register: hookshot_config_validation_result
|
||||
changed_when: false
|
||||
|
||||
@@ -115,59 +115,59 @@
|
||||
|
||||
- name: Ensure hookshot registration.yml installed if provided
|
||||
ansible.builtin.copy:
|
||||
content: "{{ matrix_hookshot_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||
dest: "{{ matrix_hookshot_base_path }}/registration.yml"
|
||||
content: "{{ matrix_bridge_hookshot_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||
dest: "{{ matrix_bridge_hookshot_base_path }}/registration.yml"
|
||||
mode: '0644'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
register: matrix_hookshot_registration_result
|
||||
register: matrix_bridge_hookshot_registration_result
|
||||
|
||||
- name: Ensure hookshot github private key file installed if github is enabled
|
||||
ansible.builtin.copy:
|
||||
content: "{{ matrix_hookshot_github_private_key }}"
|
||||
dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}"
|
||||
content: "{{ matrix_bridge_hookshot_github_private_key }}"
|
||||
dest: "{{ matrix_bridge_hookshot_base_path }}/{{ matrix_bridge_hookshot_github_private_key_file }}"
|
||||
mode: '0400'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
when: matrix_hookshot_github_enabled | bool and matrix_hookshot_github_private_key|length > 0
|
||||
register: matrix_hookshot_github_key_result
|
||||
when: matrix_bridge_hookshot_github_enabled | bool and matrix_bridge_hookshot_github_private_key|length > 0
|
||||
register: matrix_bridge_hookshot_github_key_result
|
||||
|
||||
- name: Ensure matrix-hookshot container network is created
|
||||
when: matrix_hookshot_container_network != 'host'
|
||||
when: matrix_bridge_hookshot_container_network != 'host'
|
||||
community.general.docker_network:
|
||||
enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
|
||||
name: "{{ matrix_hookshot_container_network }}"
|
||||
name: "{{ matrix_bridge_hookshot_container_network }}"
|
||||
driver: bridge
|
||||
driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}"
|
||||
|
||||
- name: Ensure mautrix-hookshot support files installed
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||
dest: "{{ matrix_hookshot_base_path }}/{{ item }}"
|
||||
dest: "{{ matrix_bridge_hookshot_base_path }}/{{ item }}"
|
||||
mode: '0640'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
with_items:
|
||||
- labels
|
||||
register: matrix_hookshot_support_files_result
|
||||
register: matrix_bridge_hookshot_support_files_result
|
||||
|
||||
- name: Ensure matrix-hookshot.service installed
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/systemd/matrix-hookshot.service.j2"
|
||||
dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-hookshot.service"
|
||||
mode: '0644'
|
||||
register: matrix_hookshot_systemd_service_result
|
||||
register: matrix_bridge_hookshot_systemd_service_result
|
||||
|
||||
- name: Determine whether matrix-hookshot needs a restart
|
||||
ansible.builtin.set_fact:
|
||||
matrix_hookshot_restart_necessary: >-
|
||||
matrix_bridge_hookshot_restart_necessary: >-
|
||||
{{
|
||||
matrix_hookshot_config_result.changed | default(false)
|
||||
or matrix_hookshot_registration_result.changed | default(false)
|
||||
or matrix_hookshot_github_key_result.changed | default(false)
|
||||
or matrix_hookshot_passkey_result.changed | default(false)
|
||||
or matrix_hookshot_support_files_result.changed | default(false)
|
||||
or matrix_hookshot_systemd_service_result.changed | default(false)
|
||||
or matrix_hookshot_container_image_pull_result.changed | default(false)
|
||||
or matrix_hookshot_container_image_build_result.changed | default(false)
|
||||
matrix_bridge_hookshot_config_result.changed | default(false)
|
||||
or matrix_bridge_hookshot_registration_result.changed | default(false)
|
||||
or matrix_bridge_hookshot_github_key_result.changed | default(false)
|
||||
or matrix_bridge_hookshot_passkey_result.changed | default(false)
|
||||
or matrix_bridge_hookshot_support_files_result.changed | default(false)
|
||||
or matrix_bridge_hookshot_systemd_service_result.changed | default(false)
|
||||
or matrix_bridge_hookshot_container_image_pull_result.changed | default(false)
|
||||
or matrix_bridge_hookshot_container_image_build_result.changed | default(false)
|
||||
}}
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
- name: Check existence of matrix-hookshot service
|
||||
ansible.builtin.stat:
|
||||
path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-hookshot.service"
|
||||
register: matrix_hookshot_service_stat
|
||||
register: matrix_bridge_hookshot_service_stat
|
||||
|
||||
- when: matrix_hookshot_service_stat.stat.exists | bool
|
||||
- when: matrix_bridge_hookshot_service_stat.stat.exists | bool
|
||||
block:
|
||||
- name: Ensure matrix-hookshot is stopped
|
||||
ansible.builtin.service:
|
||||
|
||||
@@ -13,46 +13,46 @@
|
||||
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
|
||||
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
|
||||
with_items:
|
||||
- {'old': 'matrix_hookshot_feeds_interval', 'new': 'matrix_hookshot_feeds_pollIntervalSeconds'}
|
||||
- {'old': 'matrix_hookshot_generic_urlprefix', 'new': 'matrix_hookshot_generic_urlPrefix'}
|
||||
- {'old': 'matrix_hookshot_generic_allow_js_transformation_functions', 'new': 'matrix_hookshot_generic_allowJsTransformationFunctions'}
|
||||
- {'old': 'matrix_hookshot_generic_user_id_prefix', 'new': 'matrix_hookshot_generic_userIdPrefix'}
|
||||
- {'old': 'matrix_hookshot_github_secret', 'new': 'matrix_hookshot_github_webhook_secret'}
|
||||
- {'old': 'matrix_hookshot_github_appid', 'new': 'matrix_hookshot_github_auth_id'}
|
||||
- {'old': 'matrix_hookshot_github_oauth_id', 'new': 'matrix_hookshot_github_oauth_client_id'}
|
||||
- {'old': 'matrix_hookshot_github_oauth_secret', 'new': 'matrix_hookshot_github_oauth_client_secret'}
|
||||
- {'old': 'matrix_hookshot_github_oauth_uri', 'new': 'matrix_hookshot_github_oauth_redirect_uri'}
|
||||
- {'old': 'matrix_hookshot_github_ignore_hooks', 'new': 'matrix_hookshot_github_defaultOptions_ignoreHooks'}
|
||||
- {'old': 'matrix_hookshot_github_command_prefix', 'new': 'matrix_hookshot_github_defaultOptions_commandPrefix'}
|
||||
- {'old': 'matrix_hookshot_github_showIssueRoomLink', 'new': 'matrix_hookshot_github_defaultOptions_showIssueRoomLink'}
|
||||
- {'old': 'matrix_hookshot_github_pr_diff', 'new': 'matrix_hookshot_github_defaultOptions_prDiff'}
|
||||
- {'old': 'matrix_hookshot_github_including_labels', 'new': 'matrix_hookshot_github_defaultOptions_includingLabels'}
|
||||
- {'old': 'matrix_hookshot_github_excluding_labels', 'new': 'matrix_hookshot_github_defaultOptions_excludingLabels'}
|
||||
- {'old': 'matrix_hookshot_github_hotlink_prefix', 'new': 'matrix_hookshot_github_defaultOptions_hotlinkIssues_prefix'}
|
||||
- {'old': 'matrix_hookshot_jira_secret', 'new': 'matrix_hookshot_jira_webhook_secret'}
|
||||
- {'old': 'matrix_hookshot_jira_oauth_id', 'new': 'matrix_hookshot_jira_oauth_client_id'}
|
||||
- {'old': 'matrix_hookshot_jira_oauth_secret', 'new': 'matrix_hookshot_jira_oauth_client_secret'}
|
||||
- {'old': 'matrix_hookshot_jira_oauth_uri', 'new': 'matrix_hookshot_jira_oauth_client_secret'}
|
||||
- {'old': 'matrix_hookshot_gitlab_secret', 'new': 'matrix_hookshot_gitlab_webhook_secret'}
|
||||
- {'old': 'matrix_hookshot_ident', 'new': 'matrix_hookshot_identifier'}
|
||||
- {'old': 'matrix_hookshot_queue_host', 'new': 'matrix_hookshot_cache_redis_host'}
|
||||
- {'old': 'matrix_hookshot_queue_port', 'new': 'matrix_hookshot_cache_redis_port'}
|
||||
- {'old': 'matrix_hookshot_experimental_encryption_enabled', 'new': 'matrix_hookshot_encryption_enabled'}
|
||||
- {'old': 'matrix_hookshot_docker_image_name_prefix', 'new': 'matrix_hookshot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_hookshot_provisioning_enabled', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_port', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_secret', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_internal', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_hostname', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_endpoint', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_container_labels_provisioning_enabled', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_docker_image', 'new': 'matrix_hookshot_container_image'}
|
||||
- {'old': 'matrix_hookshot_docker_image_force_pull', 'new': 'matrix_hookshot_container_image_force_pull'}
|
||||
- {'old': 'matrix_hookshot_docker_image_registry_prefix', 'new': 'matrix_hookshot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_hookshot_docker_image_registry_prefix_upstream', 'new': 'matrix_hookshot_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_hookshot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_hookshot_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_hookshot_docker_src_files_path', 'new': 'matrix_hookshot_container_src_files_path'}
|
||||
- {'old': 'matrix_hookshot_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
|
||||
- {'old': 'matrix_bridge_hookshot_feeds_interval', 'new': 'matrix_bridge_hookshot_feeds_pollIntervalSeconds'}
|
||||
- {'old': 'matrix_bridge_hookshot_generic_urlprefix', 'new': 'matrix_bridge_hookshot_generic_urlPrefix'}
|
||||
- {'old': 'matrix_bridge_hookshot_generic_allow_js_transformation_functions', 'new': 'matrix_bridge_hookshot_generic_allowJsTransformationFunctions'}
|
||||
- {'old': 'matrix_bridge_hookshot_generic_user_id_prefix', 'new': 'matrix_bridge_hookshot_generic_userIdPrefix'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_secret', 'new': 'matrix_bridge_hookshot_github_webhook_secret'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_appid', 'new': 'matrix_bridge_hookshot_github_auth_id'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_oauth_id', 'new': 'matrix_bridge_hookshot_github_oauth_client_id'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_oauth_secret', 'new': 'matrix_bridge_hookshot_github_oauth_client_secret'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_oauth_uri', 'new': 'matrix_bridge_hookshot_github_oauth_redirect_uri'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_ignore_hooks', 'new': 'matrix_bridge_hookshot_github_defaultOptions_ignoreHooks'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_command_prefix', 'new': 'matrix_bridge_hookshot_github_defaultOptions_commandPrefix'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_showIssueRoomLink', 'new': 'matrix_bridge_hookshot_github_defaultOptions_showIssueRoomLink'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_pr_diff', 'new': 'matrix_bridge_hookshot_github_defaultOptions_prDiff'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_including_labels', 'new': 'matrix_bridge_hookshot_github_defaultOptions_includingLabels'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_excluding_labels', 'new': 'matrix_bridge_hookshot_github_defaultOptions_excludingLabels'}
|
||||
- {'old': 'matrix_bridge_hookshot_github_hotlink_prefix', 'new': 'matrix_bridge_hookshot_github_defaultOptions_hotlinkIssues_prefix'}
|
||||
- {'old': 'matrix_bridge_hookshot_jira_secret', 'new': 'matrix_bridge_hookshot_jira_webhook_secret'}
|
||||
- {'old': 'matrix_bridge_hookshot_jira_oauth_id', 'new': 'matrix_bridge_hookshot_jira_oauth_client_id'}
|
||||
- {'old': 'matrix_bridge_hookshot_jira_oauth_secret', 'new': 'matrix_bridge_hookshot_jira_oauth_client_secret'}
|
||||
- {'old': 'matrix_bridge_hookshot_jira_oauth_uri', 'new': 'matrix_bridge_hookshot_jira_oauth_client_secret'}
|
||||
- {'old': 'matrix_bridge_hookshot_gitlab_secret', 'new': 'matrix_bridge_hookshot_gitlab_webhook_secret'}
|
||||
- {'old': 'matrix_bridge_hookshot_ident', 'new': 'matrix_bridge_hookshot_identifier'}
|
||||
- {'old': 'matrix_bridge_hookshot_queue_host', 'new': 'matrix_bridge_hookshot_cache_redis_host'}
|
||||
- {'old': 'matrix_bridge_hookshot_queue_port', 'new': 'matrix_bridge_hookshot_cache_redis_port'}
|
||||
- {'old': 'matrix_bridge_hookshot_experimental_encryption_enabled', 'new': 'matrix_bridge_hookshot_encryption_enabled'}
|
||||
- {'old': 'matrix_bridge_hookshot_docker_image_name_prefix', 'new': 'matrix_bridge_hookshot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bridge_hookshot_provisioning_enabled', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_bridge_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_bridge_hookshot_provisioning_port', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_bridge_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_bridge_hookshot_provisioning_secret', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_bridge_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_bridge_hookshot_provisioning_internal', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_bridge_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_bridge_hookshot_provisioning_hostname', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_bridge_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_bridge_hookshot_provisioning_endpoint', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_bridge_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_bridge_hookshot_container_labels_provisioning_enabled', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_bridge_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_bridge_hookshot_docker_image', 'new': 'matrix_bridge_hookshot_container_image'}
|
||||
- {'old': 'matrix_bridge_hookshot_docker_image_force_pull', 'new': 'matrix_bridge_hookshot_container_image_force_pull'}
|
||||
- {'old': 'matrix_bridge_hookshot_docker_image_registry_prefix', 'new': 'matrix_bridge_hookshot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bridge_hookshot_docker_image_registry_prefix_upstream', 'new': 'matrix_bridge_hookshot_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bridge_hookshot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bridge_hookshot_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bridge_hookshot_docker_src_files_path', 'new': 'matrix_bridge_hookshot_container_src_files_path'}
|
||||
- {'old': 'matrix_bridge_hookshot_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
|
||||
|
||||
- name: Fail if required Hookshot settings not defined
|
||||
ansible.builtin.fail:
|
||||
@@ -60,57 +60,57 @@
|
||||
You need to define a required configuration setting (`{{ item }}`).
|
||||
when: "lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_hookshot_appservice_token"
|
||||
- "matrix_hookshot_homeserver_address"
|
||||
- "matrix_hookshot_homeserver_token"
|
||||
- "matrix_hookshot_container_network"
|
||||
- "matrix_bridge_hookshot_appservice_token"
|
||||
- "matrix_bridge_hookshot_homeserver_address"
|
||||
- "matrix_bridge_hookshot_homeserver_token"
|
||||
- "matrix_bridge_hookshot_container_network"
|
||||
|
||||
- name: Fail if required GitHub settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`) to enable GitHub.
|
||||
when: "matrix_hookshot_github_enabled and lookup('vars', item, default='') == ''"
|
||||
when: "matrix_bridge_hookshot_github_enabled and lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_hookshot_github_auth_id"
|
||||
- "matrix_hookshot_github_webhook_secret"
|
||||
- "matrix_bridge_hookshot_github_auth_id"
|
||||
- "matrix_bridge_hookshot_github_webhook_secret"
|
||||
|
||||
- name: Fail if required GitHub OAuth settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`) to enable GitHub OAuth.
|
||||
when: "matrix_hookshot_github_oauth_enabled and lookup('vars', item, default='') == ''"
|
||||
when: "matrix_bridge_hookshot_github_oauth_enabled and lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_hookshot_github_oauth_client_id"
|
||||
- "matrix_hookshot_github_oauth_client_secret"
|
||||
- "matrix_bridge_hookshot_github_oauth_client_id"
|
||||
- "matrix_bridge_hookshot_github_oauth_client_secret"
|
||||
|
||||
- name: Fail if required Jira settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`) to enable Jira.
|
||||
when: "matrix_hookshot_jira_enabled and lookup('vars', item, default='') == ''"
|
||||
when: "matrix_bridge_hookshot_jira_enabled and lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_hookshot_jira_webhook_secret"
|
||||
- "matrix_bridge_hookshot_jira_webhook_secret"
|
||||
|
||||
- name: Fail if required Jira OAuth settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`) to enable Jira OAuth.
|
||||
when: "matrix_hookshot_jira_oauth_enabled and lookup('vars', item, default='') == ''"
|
||||
when: "matrix_bridge_hookshot_jira_oauth_enabled and lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_hookshot_jira_oauth_client_id"
|
||||
- "matrix_hookshot_jira_oauth_client_secret"
|
||||
- "matrix_bridge_hookshot_jira_oauth_client_id"
|
||||
- "matrix_bridge_hookshot_jira_oauth_client_secret"
|
||||
|
||||
- name: Fail if required Figma settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define at least one Figma instance in `matrix_hookshot_figma_instances` to enable Figma.
|
||||
when: "matrix_hookshot_figma_enabled and matrix_hookshot_figma_instances | length == 0"
|
||||
You need to define at least one Figma instance in `matrix_bridge_hookshot_figma_instances` to enable Figma.
|
||||
when: "matrix_bridge_hookshot_figma_enabled and matrix_bridge_hookshot_figma_instances | length == 0"
|
||||
|
||||
- name: Fail if no Redis queue enabled when Hookshot encryption is enabled
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`matrix_hookshot_cache_redis*`) to enable Hookshot encryption.
|
||||
when: "matrix_hookshot_encryption_enabled and matrix_hookshot_cache_redisUri == ''"
|
||||
You need to define a required configuration setting (`matrix_bridge_hookshot_cache_redis*`) to enable Hookshot encryption.
|
||||
when: "matrix_bridge_hookshot_encryption_enabled and matrix_bridge_hookshot_cache_redisUri == ''"
|
||||
|
||||
- name: (Deprecation) Catch and report old metrics usage
|
||||
ansible.builtin.fail:
|
||||
@@ -121,6 +121,6 @@
|
||||
We now recommend exposing Hookshot metrics in another way, from another URL.
|
||||
Refer to the changelog for more details: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#2022-06-22
|
||||
with_items:
|
||||
- matrix_hookshot_proxy_metrics
|
||||
- matrix_hookshot_metrics_endpoint
|
||||
- matrix_bridge_hookshot_proxy_metrics
|
||||
- matrix_bridge_hookshot_metrics_endpoint
|
||||
when: "lookup('ansible.builtin.varnames', ('^' + item + '$'), wantlist=True) | length > 0"
|
||||
|
||||
@@ -3,94 +3,94 @@ bridge:
|
||||
# Basic homeserver configuration
|
||||
#
|
||||
domain: {{ matrix_domain }}
|
||||
url: {{ matrix_hookshot_homeserver_address }}
|
||||
mediaUrl: {{ matrix_hookshot_homeserver_address }}
|
||||
port: {{ matrix_hookshot_appservice_port }}
|
||||
url: {{ matrix_bridge_hookshot_homeserver_address }}
|
||||
mediaUrl: {{ matrix_bridge_hookshot_homeserver_address }}
|
||||
port: {{ matrix_bridge_hookshot_appservice_port }}
|
||||
bindAddress: 0.0.0.0
|
||||
{% if matrix_hookshot_github_enabled %}
|
||||
{% if matrix_bridge_hookshot_github_enabled %}
|
||||
github:
|
||||
# (Optional) Configure this to enable GitHub support
|
||||
#
|
||||
auth:
|
||||
# Authentication for the GitHub App.
|
||||
#
|
||||
id: {{ matrix_hookshot_github_auth_id | to_json }}
|
||||
privateKeyFile: /data/{{ matrix_hookshot_github_private_key_file }}
|
||||
id: {{ matrix_bridge_hookshot_github_auth_id | to_json }}
|
||||
privateKeyFile: /data/{{ matrix_bridge_hookshot_github_private_key_file }}
|
||||
webhook:
|
||||
# Webhook settings for the GitHub app.
|
||||
#
|
||||
secret: {{ matrix_hookshot_github_webhook_secret | to_json }}
|
||||
{% if matrix_hookshot_github_oauth_enabled %}
|
||||
secret: {{ matrix_bridge_hookshot_github_webhook_secret | to_json }}
|
||||
{% if matrix_bridge_hookshot_github_oauth_enabled %}
|
||||
oauth:
|
||||
# (Optional) Settings for allowing users to sign in via OAuth.
|
||||
#
|
||||
client_id: {{ matrix_hookshot_github_oauth_client_id | to_json }}
|
||||
client_secret: {{ matrix_hookshot_github_oauth_client_secret | to_json }}
|
||||
redirect_uri: {{ matrix_hookshot_github_oauth_redirect_uri | to_json }}
|
||||
client_id: {{ matrix_bridge_hookshot_github_oauth_client_id | to_json }}
|
||||
client_secret: {{ matrix_bridge_hookshot_github_oauth_client_secret | to_json }}
|
||||
redirect_uri: {{ matrix_bridge_hookshot_github_oauth_redirect_uri | to_json }}
|
||||
{% endif %}
|
||||
defaultOptions:
|
||||
# (Optional) Default options for GitHub connections.
|
||||
#
|
||||
ignoreHooks: {{ matrix_hookshot_github_defaultOptions_ignoreHooks | to_json }}
|
||||
commandPrefix: {{ matrix_hookshot_github_defaultOptions_commandPrefix | to_json }}
|
||||
showIssueRoomLink: {{ matrix_hookshot_github_defaultOptions_showIssueRoomLink | to_json }}
|
||||
prDiff: {{ matrix_hookshot_github_defaultOptions_prDiff | to_json }}
|
||||
includingLabels: {{ matrix_hookshot_github_defaultOptions_includingLabels | to_json }}
|
||||
excludingLabels: {{ matrix_hookshot_github_defaultOptions_excludingLabels | to_json }}
|
||||
ignoreHooks: {{ matrix_bridge_hookshot_github_defaultOptions_ignoreHooks | to_json }}
|
||||
commandPrefix: {{ matrix_bridge_hookshot_github_defaultOptions_commandPrefix | to_json }}
|
||||
showIssueRoomLink: {{ matrix_bridge_hookshot_github_defaultOptions_showIssueRoomLink | to_json }}
|
||||
prDiff: {{ matrix_bridge_hookshot_github_defaultOptions_prDiff | to_json }}
|
||||
includingLabels: {{ matrix_bridge_hookshot_github_defaultOptions_includingLabels | to_json }}
|
||||
excludingLabels: {{ matrix_bridge_hookshot_github_defaultOptions_excludingLabels | to_json }}
|
||||
hotlinkIssues:
|
||||
prefix: {{ matrix_hookshot_github_defaultOptions_hotlinkIssues_prefix | to_json }}
|
||||
prefix: {{ matrix_bridge_hookshot_github_defaultOptions_hotlinkIssues_prefix | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_gitlab_enabled %}
|
||||
{% if matrix_bridge_hookshot_gitlab_enabled %}
|
||||
gitlab:
|
||||
# (Optional) Configure this to enable GitLab support
|
||||
#
|
||||
instances: {{ matrix_hookshot_gitlab_instances | to_json }}
|
||||
instances: {{ matrix_bridge_hookshot_gitlab_instances | to_json }}
|
||||
webhook:
|
||||
secret: {{ matrix_hookshot_gitlab_webhook_secret | to_json }}
|
||||
publicUrl: {{ matrix_hookshot_gitlab_webhook_publicUrl | to_json }}
|
||||
secret: {{ matrix_bridge_hookshot_gitlab_webhook_secret | to_json }}
|
||||
publicUrl: {{ matrix_bridge_hookshot_gitlab_webhook_publicUrl | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_figma_enabled %}
|
||||
{% if matrix_bridge_hookshot_figma_enabled %}
|
||||
figma:
|
||||
# (Optional) Configure this to enable Figma support
|
||||
#
|
||||
publicUrl: {{ matrix_hookshot_figma_publicUrl | to_json }}
|
||||
instances: {{ matrix_hookshot_figma_instances | to_json }}
|
||||
publicUrl: {{ matrix_bridge_hookshot_figma_publicUrl | to_json }}
|
||||
instances: {{ matrix_bridge_hookshot_figma_instances | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_jira_enabled %}
|
||||
{% if matrix_bridge_hookshot_jira_enabled %}
|
||||
jira:
|
||||
# (Optional) Configure this to enable Jira support
|
||||
#
|
||||
webhook:
|
||||
secret: {{ matrix_hookshot_jira_webhook_secret | to_json }}
|
||||
{% if matrix_hookshot_jira_oauth_enabled %}
|
||||
secret: {{ matrix_bridge_hookshot_jira_webhook_secret | to_json }}
|
||||
{% if matrix_bridge_hookshot_jira_oauth_enabled %}
|
||||
oauth:
|
||||
client_id: {{ matrix_hookshot_jira_oauth_client_id | to_json }}
|
||||
client_secret: {{ matrix_hookshot_jira_oauth_client_secret | to_json }}
|
||||
redirect_uri: {{ matrix_hookshot_jira_oauth_redirect_uri | to_json }}
|
||||
client_id: {{ matrix_bridge_hookshot_jira_oauth_client_id | to_json }}
|
||||
client_secret: {{ matrix_bridge_hookshot_jira_oauth_client_secret | to_json }}
|
||||
redirect_uri: {{ matrix_bridge_hookshot_jira_oauth_redirect_uri | to_json }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_generic_enabled %}
|
||||
{% if matrix_bridge_hookshot_generic_enabled %}
|
||||
generic:
|
||||
# (Optional) Support for generic webhook events. `allowJsTransformationFunctions` will allow users to write short transformation snippets in code, and thus is unsafe in untrusted environments
|
||||
#
|
||||
enabled: {{ matrix_hookshot_generic_enabled | to_json }}
|
||||
outbound: {{ matrix_hookshot_generic_outbound | to_json }}
|
||||
enableHttpGet: {{ matrix_hookshot_generic_enableHttpGet | to_json }}
|
||||
urlPrefix: {{ matrix_hookshot_generic_urlPrefix | to_json }}
|
||||
userIdPrefix: {{ matrix_hookshot_generic_userIdPrefix | to_json }}
|
||||
allowJsTransformationFunctions: {{ matrix_hookshot_generic_allowJsTransformationFunctions | to_json }}
|
||||
waitForComplete: {{ matrix_hookshot_generic_waitForComplete | to_json }}
|
||||
sendExpiryNotice: {{ matrix_hookshot_generic_sendExpiryNotice | to_json }}
|
||||
requireExpiryTime: {{ matrix_hookshot_generic_requireExpiryTime | to_json }}
|
||||
maxExpiryTime: {{ matrix_hookshot_generic_maxExpiryTime | to_json }}
|
||||
enabled: {{ matrix_bridge_hookshot_generic_enabled | to_json }}
|
||||
outbound: {{ matrix_bridge_hookshot_generic_outbound | to_json }}
|
||||
enableHttpGet: {{ matrix_bridge_hookshot_generic_enableHttpGet | to_json }}
|
||||
urlPrefix: {{ matrix_bridge_hookshot_generic_urlPrefix | to_json }}
|
||||
userIdPrefix: {{ matrix_bridge_hookshot_generic_userIdPrefix | to_json }}
|
||||
allowJsTransformationFunctions: {{ matrix_bridge_hookshot_generic_allowJsTransformationFunctions | to_json }}
|
||||
waitForComplete: {{ matrix_bridge_hookshot_generic_waitForComplete | to_json }}
|
||||
sendExpiryNotice: {{ matrix_bridge_hookshot_generic_sendExpiryNotice | to_json }}
|
||||
requireExpiryTime: {{ matrix_bridge_hookshot_generic_requireExpiryTime | to_json }}
|
||||
maxExpiryTime: {{ matrix_bridge_hookshot_generic_maxExpiryTime | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_feeds_enabled %}
|
||||
{% if matrix_bridge_hookshot_feeds_enabled %}
|
||||
feeds:
|
||||
# (Optional) Configure this to enable RSS/Atom feed support
|
||||
#
|
||||
enabled: {{ matrix_hookshot_feeds_enabled | to_json }}
|
||||
pollIntervalSeconds: {{ matrix_hookshot_feeds_pollIntervalSeconds | to_json }}
|
||||
pollTimeoutSeconds: {{ matrix_hookshot_feeds_pollTimeoutSeconds | to_json }}
|
||||
enabled: {{ matrix_bridge_hookshot_feeds_enabled | to_json }}
|
||||
pollIntervalSeconds: {{ matrix_bridge_hookshot_feeds_pollIntervalSeconds | to_json }}
|
||||
pollTimeoutSeconds: {{ matrix_bridge_hookshot_feeds_pollTimeoutSeconds | to_json }}
|
||||
{% endif %}
|
||||
passFile:
|
||||
# A passkey used to encrypt tokens stored inside the bridge.
|
||||
@@ -100,62 +100,62 @@ passFile:
|
||||
bot:
|
||||
# (Optional) Define profile information for the bot user
|
||||
#
|
||||
displayname: {{ matrix_hookshot_bot_displayname | to_json(ensure_ascii=False) }}
|
||||
avatar: {{ matrix_hookshot_bot_avatar | to_json }}
|
||||
displayname: {{ matrix_bridge_hookshot_bot_displayname | to_json(ensure_ascii=False) }}
|
||||
avatar: {{ matrix_bridge_hookshot_bot_avatar | to_json }}
|
||||
metrics:
|
||||
# (Optional) Prometheus metrics support
|
||||
#
|
||||
enabled: {{ matrix_hookshot_metrics_enabled | to_json }}
|
||||
{% if matrix_hookshot_cache_redisUri %}
|
||||
enabled: {{ matrix_bridge_hookshot_metrics_enabled | to_json }}
|
||||
{% if matrix_bridge_hookshot_cache_redisUri %}
|
||||
cache:
|
||||
redisUri: {{ matrix_hookshot_cache_redisUri | to_json }}
|
||||
redisUri: {{ matrix_bridge_hookshot_cache_redisUri | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_encryption_enabled %}
|
||||
{% if matrix_bridge_hookshot_encryption_enabled %}
|
||||
encryption:
|
||||
storagePath: /data/encryption
|
||||
{% endif %}
|
||||
logging:
|
||||
# (Optional) Logging settings. You can have a severity debug,info,warn,error
|
||||
#
|
||||
level: {{ matrix_hookshot_logging_level | to_json }}
|
||||
{% if matrix_hookshot_widgets_enabled %}
|
||||
level: {{ matrix_bridge_hookshot_logging_level | to_json }}
|
||||
{% if matrix_bridge_hookshot_widgets_enabled %}
|
||||
widgets:
|
||||
# (Optional) EXPERIMENTAL support for complimentary widgets
|
||||
#
|
||||
addToAdminRooms: {{ matrix_hookshot_widgets_addToAdminRooms | to_json }}
|
||||
{% if matrix_hookshot_widgets_roomSetupWidget_enabled %}
|
||||
addToAdminRooms: {{ matrix_bridge_hookshot_widgets_addToAdminRooms | to_json }}
|
||||
{% if matrix_bridge_hookshot_widgets_roomSetupWidget_enabled %}
|
||||
roomSetupWidget:
|
||||
addOnInvite: {{ matrix_hookshot_widgets_roomSetupWidget_addOnInvite | to_json }}
|
||||
addOnInvite: {{ matrix_bridge_hookshot_widgets_roomSetupWidget_addOnInvite | to_json }}
|
||||
{% endif %}
|
||||
{% if not matrix_hookshot_widgets_disallowedIpRanges is in [None, ''] %}
|
||||
disallowedIpRanges: {{ matrix_hookshot_widgets_disallowedIpRanges | to_json }}
|
||||
{% if not matrix_bridge_hookshot_widgets_disallowedIpRanges is in [None, ''] %}
|
||||
disallowedIpRanges: {{ matrix_bridge_hookshot_widgets_disallowedIpRanges | to_json }}
|
||||
{% endif %}
|
||||
publicUrl: {{ matrix_hookshot_widgets_publicUrl | to_json }}
|
||||
publicUrl: {{ matrix_bridge_hookshot_widgets_publicUrl | to_json }}
|
||||
branding:
|
||||
widgetTitle: {{ matrix_hookshot_widgets_branding_widgetTitle | to_json }}
|
||||
widgetTitle: {{ matrix_bridge_hookshot_widgets_branding_widgetTitle | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_permissions %}
|
||||
permissions: {{ matrix_hookshot_permissions | to_json }}
|
||||
{% if matrix_bridge_hookshot_permissions %}
|
||||
permissions: {{ matrix_bridge_hookshot_permissions | to_json }}
|
||||
{% endif %}
|
||||
connections: {{ matrix_hookshot_connections | to_json }}
|
||||
connections: {{ matrix_bridge_hookshot_connections | to_json }}
|
||||
listeners:
|
||||
# (Optional) HTTP Listener configuration.
|
||||
# Bind resource endpoints to ports and addresses.
|
||||
# 'resources' may be any of webhooks, widgets, metrics
|
||||
#
|
||||
{# always enabled since all services need it #}
|
||||
- port: {{ matrix_hookshot_webhook_port }}
|
||||
- port: {{ matrix_bridge_hookshot_webhook_port }}
|
||||
bindAddress: 0.0.0.0
|
||||
resources:
|
||||
- webhooks
|
||||
{% if matrix_hookshot_metrics_enabled %}
|
||||
- port: {{ matrix_hookshot_metrics_port }}
|
||||
{% if matrix_bridge_hookshot_metrics_enabled %}
|
||||
- port: {{ matrix_bridge_hookshot_metrics_port }}
|
||||
bindAddress: 0.0.0.0
|
||||
resources:
|
||||
- metrics
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_widgets_enabled %}
|
||||
- port: {{ matrix_hookshot_widgets_port }}
|
||||
{% if matrix_bridge_hookshot_widgets_enabled %}
|
||||
- port: {{ matrix_bridge_hookshot_widgets_port }}
|
||||
bindAddress: 0.0.0.0
|
||||
resources:
|
||||
- widgets
|
||||
|
||||
@@ -4,41 +4,41 @@ SPDX-FileCopyrightText: 2024 Slavi Pantaleev
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#}
|
||||
|
||||
{% if matrix_hookshot_container_labels_traefik_enabled %}
|
||||
{% if matrix_bridge_hookshot_container_labels_traefik_enabled %}
|
||||
traefik.enable=true
|
||||
|
||||
{% if matrix_hookshot_container_labels_traefik_docker_network %}
|
||||
traefik.docker.network={{ matrix_hookshot_container_labels_traefik_docker_network }}
|
||||
{% if matrix_bridge_hookshot_container_labels_traefik_docker_network %}
|
||||
traefik.docker.network={{ matrix_bridge_hookshot_container_labels_traefik_docker_network }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.services.matrix-hookshot-webhooks.loadbalancer.server.port={{ matrix_hookshot_webhook_port }}
|
||||
traefik.http.services.matrix-hookshot-appservice.loadbalancer.server.port={{ matrix_hookshot_appservice_port }}
|
||||
traefik.http.services.matrix-hookshot-widgets.loadbalancer.server.port={{ matrix_hookshot_widgets_port }}
|
||||
traefik.http.services.matrix-hookshot-metrics.loadbalancer.server.port={{ matrix_hookshot_metrics_port }}
|
||||
traefik.http.services.matrix-hookshot-webhooks.loadbalancer.server.port={{ matrix_bridge_hookshot_webhook_port }}
|
||||
traefik.http.services.matrix-hookshot-appservice.loadbalancer.server.port={{ matrix_bridge_hookshot_appservice_port }}
|
||||
traefik.http.services.matrix-hookshot-widgets.loadbalancer.server.port={{ matrix_bridge_hookshot_widgets_port }}
|
||||
traefik.http.services.matrix-hookshot-metrics.loadbalancer.server.port={{ matrix_bridge_hookshot_metrics_port }}
|
||||
|
||||
{% if matrix_hookshot_container_labels_webhooks_enabled %}
|
||||
{% if matrix_bridge_hookshot_container_labels_webhooks_enabled %}
|
||||
############################################################
|
||||
# #
|
||||
# Webhooks #
|
||||
# #
|
||||
############################################################
|
||||
|
||||
traefik.http.middlewares.matrix-hookshot-webhooks-strip-prefix.stripprefix.prefixes={{ matrix_hookshot_webhook_endpoint }}
|
||||
traefik.http.middlewares.matrix-hookshot-webhooks-strip-prefix.stripprefix.prefixes={{ matrix_bridge_hookshot_webhook_endpoint }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-webhooks.rule={{ matrix_hookshot_container_labels_webhooks_traefik_rule }}
|
||||
traefik.http.routers.matrix-hookshot-webhooks.rule={{ matrix_bridge_hookshot_container_labels_webhooks_traefik_rule }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-webhooks.middlewares=matrix-hookshot-webhooks-strip-prefix
|
||||
|
||||
{% if matrix_hookshot_container_labels_webhooks_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-webhooks.priority={{ matrix_hookshot_container_labels_webhooks_traefik_priority }}
|
||||
{% if matrix_bridge_hookshot_container_labels_webhooks_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-webhooks.priority={{ matrix_bridge_hookshot_container_labels_webhooks_traefik_priority }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-webhooks.service=matrix-hookshot-webhooks
|
||||
traefik.http.routers.matrix-hookshot-webhooks.entrypoints={{ matrix_hookshot_container_labels_webhooks_traefik_entrypoints }}
|
||||
traefik.http.routers.matrix-hookshot-webhooks.entrypoints={{ matrix_bridge_hookshot_container_labels_webhooks_traefik_entrypoints }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-webhooks.tls={{ matrix_hookshot_container_labels_webhooks_traefik_tls | to_json }}
|
||||
{% if matrix_hookshot_container_labels_webhooks_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-webhooks.tls.certResolver={{ matrix_hookshot_container_labels_webhooks_traefik_tls_certResolver }}
|
||||
traefik.http.routers.matrix-hookshot-webhooks.tls={{ matrix_bridge_hookshot_container_labels_webhooks_traefik_tls | to_json }}
|
||||
{% if matrix_bridge_hookshot_container_labels_webhooks_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-webhooks.tls.certResolver={{ matrix_bridge_hookshot_container_labels_webhooks_traefik_tls_certResolver }}
|
||||
{% endif %}
|
||||
|
||||
############################################################
|
||||
@@ -49,28 +49,28 @@ traefik.http.routers.matrix-hookshot-webhooks.tls.certResolver={{ matrix_hooksho
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if matrix_hookshot_container_labels_appservice_enabled %}
|
||||
{% if matrix_bridge_hookshot_container_labels_appservice_enabled %}
|
||||
############################################################
|
||||
# #
|
||||
# Appservice #
|
||||
# #
|
||||
############################################################
|
||||
|
||||
traefik.http.middlewares.matrix-hookshot-appservice-strip-prefix.stripprefix.prefixes={{ matrix_hookshot_appservice_endpoint }}
|
||||
traefik.http.middlewares.matrix-hookshot-appservice-strip-prefix.stripprefix.prefixes={{ matrix_bridge_hookshot_appservice_endpoint }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-appservice.rule={{ matrix_hookshot_container_labels_appservice_traefik_rule }}
|
||||
traefik.http.routers.matrix-hookshot-appservice.rule={{ matrix_bridge_hookshot_container_labels_appservice_traefik_rule }}
|
||||
traefik.http.routers.matrix-hookshot-appservice.middlewares=matrix-hookshot-appservice-strip-prefix
|
||||
|
||||
{% if matrix_hookshot_container_labels_appservice_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-appservice.priority={{ matrix_hookshot_container_labels_appservice_traefik_priority }}
|
||||
{% if matrix_bridge_hookshot_container_labels_appservice_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-appservice.priority={{ matrix_bridge_hookshot_container_labels_appservice_traefik_priority }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-appservice.service=matrix-hookshot-appservice
|
||||
traefik.http.routers.matrix-hookshot-appservice.entrypoints={{ matrix_hookshot_container_labels_appservice_traefik_entrypoints }}
|
||||
traefik.http.routers.matrix-hookshot-appservice.entrypoints={{ matrix_bridge_hookshot_container_labels_appservice_traefik_entrypoints }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-appservice.tls={{ matrix_hookshot_container_labels_appservice_traefik_tls | to_json }}
|
||||
{% if matrix_hookshot_container_labels_appservice_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-appservice.tls.certResolver={{ matrix_hookshot_container_labels_appservice_traefik_tls_certResolver }}
|
||||
traefik.http.routers.matrix-hookshot-appservice.tls={{ matrix_bridge_hookshot_container_labels_appservice_traefik_tls | to_json }}
|
||||
{% if matrix_bridge_hookshot_container_labels_appservice_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-appservice.tls.certResolver={{ matrix_bridge_hookshot_container_labels_appservice_traefik_tls_certResolver }}
|
||||
{% endif %}
|
||||
|
||||
############################################################
|
||||
@@ -81,7 +81,7 @@ traefik.http.routers.matrix-hookshot-appservice.tls.certResolver={{ matrix_hooks
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if matrix_hookshot_container_labels_widgets_enabled %}
|
||||
{% if matrix_bridge_hookshot_container_labels_widgets_enabled %}
|
||||
############################################################
|
||||
# #
|
||||
# Widgets #
|
||||
@@ -90,24 +90,24 @@ traefik.http.routers.matrix-hookshot-appservice.tls.certResolver={{ matrix_hooks
|
||||
|
||||
# Redirect `{PREFIX}/widgetapi/v1/static` to `{PREFIX}/widgetapi/v1/static/`.
|
||||
# Hookshot does it too, but does not obey the prefix, which leads people elsewhere.
|
||||
traefik.http.middlewares.matrix-hookshot-widgets-slashless-redirect.redirectregex.regex=({{ matrix_hookshot_widgets_endpoint | quote }}/v1/static)$
|
||||
traefik.http.middlewares.matrix-hookshot-widgets-slashless-redirect.redirectregex.regex=({{ matrix_bridge_hookshot_widgets_endpoint | quote }}/v1/static)$
|
||||
traefik.http.middlewares.matrix-hookshot-widgets-slashless-redirect.redirectregex.replacement=${1}/
|
||||
|
||||
traefik.http.middlewares.matrix-hookshot-widgets-strip-prefix.stripprefix.prefixes={{ matrix_hookshot_public_endpoint }}
|
||||
traefik.http.middlewares.matrix-hookshot-widgets-strip-prefix.stripprefix.prefixes={{ matrix_bridge_hookshot_public_endpoint }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-widgets.rule={{ matrix_hookshot_container_labels_widgets_traefik_rule }}
|
||||
traefik.http.routers.matrix-hookshot-widgets.rule={{ matrix_bridge_hookshot_container_labels_widgets_traefik_rule }}
|
||||
traefik.http.routers.matrix-hookshot-widgets.middlewares=matrix-hookshot-widgets-slashless-redirect,matrix-hookshot-widgets-strip-prefix
|
||||
|
||||
{% if matrix_hookshot_container_labels_widgets_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-widgets.priority={{ matrix_hookshot_container_labels_widgets_traefik_priority }}
|
||||
{% if matrix_bridge_hookshot_container_labels_widgets_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-widgets.priority={{ matrix_bridge_hookshot_container_labels_widgets_traefik_priority }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-widgets.service=matrix-hookshot-widgets
|
||||
traefik.http.routers.matrix-hookshot-widgets.entrypoints={{ matrix_hookshot_container_labels_widgets_traefik_entrypoints }}
|
||||
traefik.http.routers.matrix-hookshot-widgets.entrypoints={{ matrix_bridge_hookshot_container_labels_widgets_traefik_entrypoints }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-widgets.tls={{ matrix_hookshot_container_labels_widgets_traefik_tls | to_json }}
|
||||
{% if matrix_hookshot_container_labels_widgets_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-widgets.tls.certResolver={{ matrix_hookshot_container_labels_widgets_traefik_tls_certResolver }}
|
||||
traefik.http.routers.matrix-hookshot-widgets.tls={{ matrix_bridge_hookshot_container_labels_widgets_traefik_tls | to_json }}
|
||||
{% if matrix_bridge_hookshot_container_labels_widgets_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-widgets.tls.certResolver={{ matrix_bridge_hookshot_container_labels_widgets_traefik_tls_certResolver }}
|
||||
{% endif %}
|
||||
|
||||
############################################################
|
||||
@@ -118,7 +118,7 @@ traefik.http.routers.matrix-hookshot-widgets.tls.certResolver={{ matrix_hookshot
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if matrix_hookshot_container_labels_metrics_enabled %}
|
||||
{% if matrix_bridge_hookshot_container_labels_metrics_enabled %}
|
||||
############################################################
|
||||
# #
|
||||
# Metrics #
|
||||
@@ -128,24 +128,24 @@ traefik.http.routers.matrix-hookshot-widgets.tls.certResolver={{ matrix_hookshot
|
||||
{% set metricsMiddlewares = ['matrix-hookshot-metrics-replace-path'] %}
|
||||
traefik.http.middlewares.matrix-hookshot-metrics-replace-path.replacepath.path=/metrics
|
||||
|
||||
{% if matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled %}
|
||||
{% if matrix_bridge_hookshot_container_labels_metrics_middleware_basic_auth_enabled %}
|
||||
{% set metricsMiddlewares = metricsMiddlewares + ['matrix-hookshot-metrics-basic-auth'] %}
|
||||
traefik.http.middlewares.matrix-hookshot-metrics-basic-auth.basicauth.users={{ matrix_hookshot_container_labels_metrics_middleware_basic_auth_users }}
|
||||
traefik.http.middlewares.matrix-hookshot-metrics-basic-auth.basicauth.users={{ matrix_bridge_hookshot_container_labels_metrics_middleware_basic_auth_users }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-metrics.rule={{ matrix_hookshot_container_labels_metrics_traefik_rule }}
|
||||
traefik.http.routers.matrix-hookshot-metrics.rule={{ matrix_bridge_hookshot_container_labels_metrics_traefik_rule }}
|
||||
traefik.http.routers.matrix-hookshot-metrics.middlewares={{ metricsMiddlewares | join(',') }}
|
||||
|
||||
{% if matrix_hookshot_container_labels_metrics_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-metrics.priority={{ matrix_hookshot_container_labels_metrics_traefik_priority }}
|
||||
{% if matrix_bridge_hookshot_container_labels_metrics_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-hookshot-metrics.priority={{ matrix_bridge_hookshot_container_labels_metrics_traefik_priority }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-metrics.service=matrix-hookshot-metrics
|
||||
traefik.http.routers.matrix-hookshot-metrics.entrypoints={{ matrix_hookshot_container_labels_metrics_traefik_entrypoints }}
|
||||
traefik.http.routers.matrix-hookshot-metrics.entrypoints={{ matrix_bridge_hookshot_container_labels_metrics_traefik_entrypoints }}
|
||||
|
||||
traefik.http.routers.matrix-hookshot-metrics.tls={{ matrix_hookshot_container_labels_metrics_traefik_tls | to_json }}
|
||||
{% if matrix_hookshot_container_labels_metrics_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-metrics.tls.certResolver={{ matrix_hookshot_container_labels_metrics_traefik_tls_certResolver }}
|
||||
traefik.http.routers.matrix-hookshot-metrics.tls={{ matrix_bridge_hookshot_container_labels_metrics_traefik_tls | to_json }}
|
||||
{% if matrix_bridge_hookshot_container_labels_metrics_traefik_tls %}
|
||||
traefik.http.routers.matrix-hookshot-metrics.tls.certResolver={{ matrix_bridge_hookshot_container_labels_metrics_traefik_tls_certResolver }}
|
||||
{% endif %}
|
||||
|
||||
############################################################
|
||||
@@ -158,4 +158,4 @@ traefik.http.routers.matrix-hookshot-metrics.tls.certResolver={{ matrix_hookshot
|
||||
|
||||
{% endif %}
|
||||
|
||||
{{ matrix_hookshot_container_labels_additional_labels }}
|
||||
{{ matrix_bridge_hookshot_container_labels_additional_labels }}
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
#jinja2: lstrip_blocks: True
|
||||
id: matrix-hookshot # This can be anything, but must be unique within your homeserver
|
||||
as_token: {{ matrix_hookshot_appservice_token|to_json }} # This again can be a random string
|
||||
hs_token: {{ matrix_hookshot_homeserver_token|to_json }} # ..as can this
|
||||
as_token: {{ matrix_bridge_hookshot_appservice_token|to_json }} # This again can be a random string
|
||||
hs_token: {{ matrix_bridge_hookshot_homeserver_token|to_json }} # ..as can this
|
||||
namespaces:
|
||||
rooms: []
|
||||
users:
|
||||
{% if matrix_hookshot_github_enabled %}
|
||||
{% if matrix_bridge_hookshot_github_enabled %}
|
||||
- regex: "@_github_.*:{{ matrix_domain }}"
|
||||
exclusive: true
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_gitlab_enabled %}
|
||||
{% if matrix_bridge_hookshot_gitlab_enabled %}
|
||||
- regex: "@_gitlab_.*:{{ matrix_domain }}" # Where foobar is your homeserver's domain
|
||||
exclusive: true
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_jira_enabled %}
|
||||
{% if matrix_bridge_hookshot_jira_enabled %}
|
||||
- regex: "@_jira_.*:{{ matrix_domain }}" # Where foobar is your homeserver's domain
|
||||
exclusive: true
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_generic_enabled %}
|
||||
- regex: "@{{ matrix_hookshot_generic_userIdPrefix }}.*:{{ matrix_domain }}" # Where foobar is your homeserver's domain // depending on userIdPrefix setting in conf
|
||||
{% if matrix_bridge_hookshot_generic_enabled %}
|
||||
- regex: "@{{ matrix_bridge_hookshot_generic_userIdPrefix }}.*:{{ matrix_domain }}" # Where foobar is your homeserver's domain // depending on userIdPrefix setting in conf
|
||||
exclusive: true
|
||||
{% endif %}
|
||||
aliases:
|
||||
- regex: "#github_.+:{{ matrix_domain }}"
|
||||
exclusive: true
|
||||
|
||||
sender_localpart: {{ matrix_hookshot_bot_localpart | to_json }}
|
||||
url: "http://{{ matrix_hookshot_container_url }}:{{ matrix_hookshot_appservice_port }}" # This should match the bridge.port in your config file
|
||||
sender_localpart: {{ matrix_bridge_hookshot_bot_localpart | to_json }}
|
||||
url: "http://{{ matrix_bridge_hookshot_container_url }}:{{ matrix_bridge_hookshot_appservice_port }}" # This should match the bridge.port in your config file
|
||||
rate_limited: false
|
||||
|
||||
{% if matrix_hookshot_encryption_enabled %}
|
||||
{% if matrix_bridge_hookshot_encryption_enabled %}
|
||||
de.sorunome.msc2409.push_ephemeral: true
|
||||
push_ephemeral: true
|
||||
receive_ephemeral: true
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#jinja2: lstrip_blocks: True
|
||||
[Unit]
|
||||
Description=A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.
|
||||
{% for service in matrix_hookshot_systemd_required_services_list %}
|
||||
{% for service in matrix_bridge_hookshot_systemd_required_services_list %}
|
||||
Requires={{ service }}
|
||||
After={{ service }}
|
||||
{% endfor %}
|
||||
{% for service in matrix_hookshot_systemd_wanted_services_list %}
|
||||
{% for service in matrix_bridge_hookshot_systemd_wanted_services_list %}
|
||||
Wants={{ service }}
|
||||
{% endfor %}
|
||||
DefaultDependencies=no
|
||||
@@ -13,37 +13,37 @@ DefaultDependencies=no
|
||||
[Service]
|
||||
Type=simple
|
||||
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
|
||||
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_hookshot_identifier }}
|
||||
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_hookshot_identifier }}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create --rm --name {{ matrix_hookshot_identifier }} \
|
||||
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_hookshot_identifier }}
|
||||
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_bridge_hookshot_identifier }}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create --rm --name {{ matrix_bridge_hookshot_identifier }} \
|
||||
--log-driver=none \
|
||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
||||
--cap-drop=ALL \
|
||||
--network={{ matrix_hookshot_container_network }} \
|
||||
--mount type=bind,src={{ matrix_hookshot_base_path }},dst=/data \
|
||||
--label-file={{ matrix_hookshot_base_path }}/labels \
|
||||
{% for port in matrix_hookshot_container_http_host_bind_ports %}
|
||||
--network={{ matrix_bridge_hookshot_container_network }} \
|
||||
--mount type=bind,src={{ matrix_bridge_hookshot_base_path }},dst=/data \
|
||||
--label-file={{ matrix_bridge_hookshot_base_path }}/labels \
|
||||
{% for port in matrix_bridge_hookshot_container_http_host_bind_ports %}
|
||||
-p {{ port }} \
|
||||
{% endfor %}
|
||||
{% for arg in matrix_hookshot_container_extra_arguments %}
|
||||
{% for arg in matrix_bridge_hookshot_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_hookshot_container_image }}
|
||||
{{ matrix_bridge_hookshot_container_image }}
|
||||
|
||||
{% if matrix_hookshot_container_network != 'host' %}
|
||||
{% for network in matrix_hookshot_container_additional_networks %}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} {{ matrix_hookshot_identifier }}
|
||||
{% if matrix_bridge_hookshot_container_network != 'host' %}
|
||||
{% for network in matrix_bridge_hookshot_container_additional_networks %}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} {{ matrix_bridge_hookshot_identifier }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_hookshot_identifier }}
|
||||
ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_bridge_hookshot_identifier }}
|
||||
|
||||
ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_hookshot_identifier }}
|
||||
ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_hookshot_identifier }}
|
||||
ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_hookshot_identifier }}
|
||||
ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_bridge_hookshot_identifier }}
|
||||
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
SyslogIdentifier={{ matrix_hookshot_identifier }}
|
||||
SyslogIdentifier={{ matrix_bridge_hookshot_identifier }}
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
Reference in New Issue
Block a user