Move matrix-appservice-discord into a separate role
This commit is contained in:
parent
13c4e7e5b6
commit
663d1add92
131
roles/matrix-bridge-appservice-discord/defaults/main.yml
Normal file
131
roles/matrix-bridge-appservice-discord/defaults/main.yml
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
# matrix-appservice-discord is a Matrix <-> Discord bridge
|
||||||
|
# See: https://github.com/Half-Shot/matrix-appservice-discord
|
||||||
|
|
||||||
|
matrix_appservice_discord_enabled: true
|
||||||
|
|
||||||
|
matrix_appservice_discord_docker_image: "halfshot/matrix-appservice-discord:latest"
|
||||||
|
|
||||||
|
matrix_appservice_discord_base_path: "{{ matrix_base_data_path }}/appservice-discord"
|
||||||
|
|
||||||
|
# Get your own keys at https://discordapp.com/developers/applications/me/create
|
||||||
|
matrix_appservice_discord_client_id: ''
|
||||||
|
matrix_appservice_discord_bot_token: ''
|
||||||
|
|
||||||
|
# Controls whether the Appservice Discord container exposes the Client/Server API port (tcp/9005).
|
||||||
|
matrix_appservice_discord_container_expose_client_server_api_port: false
|
||||||
|
|
||||||
|
# A list of extra arguments to pass to the container
|
||||||
|
matrix_appservice_discord_container_extra_arguments: []
|
||||||
|
|
||||||
|
# List of systemd services that matrix-appservice-discord.service depends on.
|
||||||
|
matrix_appservice_discord_systemd_required_services_list: ['docker.service']
|
||||||
|
|
||||||
|
# List of systemd services that matrix-appservice-discord.service wants
|
||||||
|
matrix_appservice_discord_systemd_wanted_services_list: []
|
||||||
|
|
||||||
|
matrix_appservice_discord_configuration_yaml: |
|
||||||
|
bridge:
|
||||||
|
domain: "{{ matrix_domain }}"
|
||||||
|
homeserverUrl: "{{ matrix_homeserver_url }}"
|
||||||
|
auth:
|
||||||
|
clientID: "{{matrix_appservice_discord_client_id}}"
|
||||||
|
botToken: "{{matrix_appservice_discord_bot_token}}"
|
||||||
|
database:
|
||||||
|
filename: "/data/discord.db"
|
||||||
|
userStorePath: "/data/user-store.db"
|
||||||
|
roomStorePath: "/data/room-store.db"
|
||||||
|
|
||||||
|
matrix_appservice_discord_configuration_extension_yaml: |
|
||||||
|
# This is a sample of the config file showing all avaliable options.
|
||||||
|
# Where possible we have documented what they do, and all values are the
|
||||||
|
# default values.
|
||||||
|
#
|
||||||
|
#bridge:
|
||||||
|
# # Domain part of the bridge, e.g. matrix.org
|
||||||
|
# domain: "localhost"
|
||||||
|
# # This should be your publically facing URL because Discord may use it to
|
||||||
|
# # fetch media from the media store.
|
||||||
|
# homeserverUrl: "http://localhost:8008"
|
||||||
|
# # Interval at which to process users in the 'presence queue'. If you have
|
||||||
|
# # 5 users, one user will be processed every 500 milliseconds according to the
|
||||||
|
# # value below. This has a minimum value of 250.
|
||||||
|
# # WARNING: This has a high chance of spamming the homeserver with presence
|
||||||
|
# # updates since it will send one each time somebody changes state or is online.
|
||||||
|
# presenceInterval: 500
|
||||||
|
# # Disable setting presence for 'ghost users' which means Discord users on Matrix
|
||||||
|
# # will not be shown as away or online.
|
||||||
|
# disablePresence: false
|
||||||
|
# # Disable sending typing notifications when somebody on Discord types.
|
||||||
|
# disableTypingNotifications: false
|
||||||
|
# # Disable deleting messages on Discord if a message is redacted on Matrix.
|
||||||
|
# disableDeletionForwarding: false
|
||||||
|
# # Enable users to bridge rooms using !discord commands. See
|
||||||
|
# # https://t2bot.io/discord for instructions.
|
||||||
|
# enableSelfServiceBridging: false
|
||||||
|
# # Disable sending of read receipts for Matrix events which have been
|
||||||
|
# # successfully bridged to Discord.
|
||||||
|
# disableReadReceipts: false
|
||||||
|
# Authentication configuration for the discord bot.
|
||||||
|
#auth:
|
||||||
|
# clientID: "12345"
|
||||||
|
# botToken: "foobar"
|
||||||
|
#logging:
|
||||||
|
# # What level should the logger output to the console at.
|
||||||
|
# console: "warn" #silly, verbose, info, http, warn, error, silent
|
||||||
|
# lineDateFormat: "MMM-D HH:mm:ss.SSS" # This is in moment.js format
|
||||||
|
# files:
|
||||||
|
# - file: "debug.log"
|
||||||
|
# disable:
|
||||||
|
# - "PresenceHandler" # Will not capture presence logging
|
||||||
|
# - file: "warn.log" # Will capture warnings
|
||||||
|
# level: "warn"
|
||||||
|
# - file: "botlogs.log" # Will capture logs from DiscordBot
|
||||||
|
# level: "info"
|
||||||
|
# enable:
|
||||||
|
# - "DiscordBot"
|
||||||
|
#database:
|
||||||
|
# userStorePath: "user-store.db"
|
||||||
|
# roomStorePath: "room-store.db"
|
||||||
|
# # You may either use SQLite or Postgresql for the bridge database, which contains
|
||||||
|
# # important mappings for events and user puppeting configurations.
|
||||||
|
# # Use the filename option for SQLite, or connString for Postgresql.
|
||||||
|
# # If you are migrating, see https://github.com/Half-Shot/matrix-appservice-discord/blob/master/docs/howto.md#migrate-to-postgres-from-sqlite
|
||||||
|
# # WARNING: You will almost certainly be fine with sqlite unless your bridge
|
||||||
|
# # is in heavy demand and you suffer from IO slowness.
|
||||||
|
# filename: "discord.db"
|
||||||
|
# # connString: "postgresql://user:password@localhost/database_name"
|
||||||
|
#room:
|
||||||
|
# # Set the default visibility of alias rooms, defaults to "public".
|
||||||
|
# # One of: "public", "private"
|
||||||
|
# defaultVisibility: "public"
|
||||||
|
#channel:
|
||||||
|
# # Pattern of the name given to bridged rooms.
|
||||||
|
# # Can use :guild for the guild name and :name for the channel name.
|
||||||
|
# namePattern: "[Discord] :guild :name"
|
||||||
|
# # Changes made to rooms when a channel is deleted.
|
||||||
|
# deleteOptions:
|
||||||
|
# # Prefix the room name with a string.
|
||||||
|
# #namePrefix: "[Deleted]"
|
||||||
|
# # Prefix the room topic with a string.
|
||||||
|
# #topicPrefix: "This room has been deleted"
|
||||||
|
# # Disable people from talking in the room by raising the event PL to 50
|
||||||
|
# disableMessaging: false
|
||||||
|
# # Remove the discord alias from the room.
|
||||||
|
# unsetRoomAlias: true
|
||||||
|
# # Remove the room from the directory.
|
||||||
|
# unlistFromDirectory: true
|
||||||
|
# # Set the room to be unavaliable for joining without an invite.
|
||||||
|
# setInviteOnly: true
|
||||||
|
# # Make all the discord users leave the room.
|
||||||
|
# ghostsLeave: true
|
||||||
|
#limits:
|
||||||
|
# # Delay in milliseconds between discord users joining a room.
|
||||||
|
# roomGhostJoinDelay: 6000
|
||||||
|
# # Delay in milliseconds before sending messages to discord to avoid echos.
|
||||||
|
# # (Copies of a sent message may arrive from discord before we've
|
||||||
|
# # fininished handling it, causing us to echo it back to the room)
|
||||||
|
# discordSendDelay: 750
|
||||||
|
|
||||||
|
matrix_appservice_discord_configuration_extension: "{{ matrix_appservice_discord_configuration_extension_yaml|from_yaml if matrix_appservice_discord_configuration_extension_yaml|from_yaml else {} }}"
|
||||||
|
|
||||||
|
matrix_appservice_discord_configuration: "{{ matrix_appservice_discord_configuration_yaml|from_yaml|combine(matrix_appservice_discord_configuration_extension, recursive=True) }}"
|
21
roles/matrix-bridge-appservice-discord/tasks/main.yml
Normal file
21
roles/matrix-bridge-appservice-discord/tasks/main.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/init.yml"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/validate_config.yml"
|
||||||
|
when: "run_setup and matrix_appservice_discord_enabled"
|
||||||
|
tags:
|
||||||
|
- setup-all
|
||||||
|
- setup-appservice-discord
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/setup-install.yml"
|
||||||
|
when: "run_setup and matrix_appservice_discord_enabled"
|
||||||
|
tags:
|
||||||
|
- setup-all
|
||||||
|
- setup-appservice-discord
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/setup-uninstall.yml"
|
||||||
|
when: "run_setup and not matrix_appservice_discord_enabled"
|
||||||
|
tags:
|
||||||
|
- setup-all
|
||||||
|
- setup-appservice-discord
|
|
@ -1,17 +1,24 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# If the matrix-synapse role is not used, `matrix_synapse_role_executed` won't exist.
|
||||||
|
# We don't want to fail in such cases.
|
||||||
|
- name: Fail if matrix-synapse role already executed
|
||||||
|
fail:
|
||||||
|
msg: >-
|
||||||
|
The matrix-bridge-appservice-discord role needs to execute before the matrix-synapse role.
|
||||||
|
when: "matrix_synapse_role_executed|default(False)"
|
||||||
|
|
||||||
- name: Ensure Appservice Discord image is pulled
|
- name: Ensure Appservice Discord image is pulled
|
||||||
docker_image:
|
docker_image:
|
||||||
name: "{{ matrix_appservice_discord_docker_image }}"
|
name: "{{ matrix_appservice_discord_docker_image }}"
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- name: Ensure Appservice Discord configuration path exists
|
- name: Ensure Appservice Discord base directory exists
|
||||||
file:
|
file:
|
||||||
path: "{{ matrix_appservice_discord_base_path }}"
|
path: "{{ matrix_appservice_discord_base_path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_username }}"
|
||||||
group: "{{ matrix_user_username }}"
|
group: "{{ matrix_user_username }}"
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- name: Ensure Matrix Appservice Discord config installed
|
- name: Ensure Matrix Appservice Discord config installed
|
||||||
copy:
|
copy:
|
||||||
|
@ -20,26 +27,23 @@
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_username }}"
|
||||||
group: "{{ matrix_user_username }}"
|
group: "{{ matrix_user_username }}"
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-discord.service installed
|
- name: Ensure matrix-appservice-discord.service installed
|
||||||
template:
|
template:
|
||||||
src: "{{ role_path }}/templates/ext/appservice-discord/systemd/matrix-appservice-discord.service.j2"
|
src: "{{ role_path }}/templates/systemd/matrix-appservice-discord.service.j2"
|
||||||
dest: "/etc/systemd/system/matrix-appservice-discord.service"
|
dest: "/etc/systemd/system/matrix-appservice-discord.service"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
register: matrix_appservice_discord_systemd_service_result
|
register: matrix_appservice_discord_systemd_service_result
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- name: Ensure systemd reloaded after matrix-appservice-discord.service installation
|
- name: Ensure systemd reloaded after matrix-appservice-discord.service installation
|
||||||
service:
|
service:
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
when: "matrix_appservice_discord_enabled and matrix_appservice_discord_systemd_service_result.changed"
|
when: "matrix_appservice_discord_systemd_service_result.changed"
|
||||||
|
|
||||||
- name: Check if a matrix-appservice-discord registration file exists
|
- name: Check if a matrix-appservice-discord registration file exists
|
||||||
stat:
|
stat:
|
||||||
path: "{{ matrix_appservice_discord_base_path }}/discord-registration.yaml"
|
path: "{{ matrix_appservice_discord_base_path }}/discord-registration.yaml"
|
||||||
register: appservice_discord_registration_file
|
register: appservice_discord_registration_file
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- name: Generate matrix-appservice-discord discord-registration.yaml if it doesn't exist
|
- name: Generate matrix-appservice-discord discord-registration.yaml if it doesn't exist
|
||||||
shell: >-
|
shell: >-
|
||||||
|
@ -54,17 +58,15 @@
|
||||||
-c /data/config.yaml
|
-c /data/config.yaml
|
||||||
-f /data/discord-registration.yaml
|
-f /data/discord-registration.yaml
|
||||||
-l discord_bot
|
-l discord_bot
|
||||||
when: "matrix_appservice_discord_enabled and not appservice_discord_registration_file.stat.exists"
|
when: "not appservice_discord_registration_file.stat.exists"
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
matrix_synapse_app_service_config_file_appservice_discord: '{{ matrix_appservice_discord_base_path }}/discord-registration.yml'
|
matrix_synapse_app_service_config_file_appservice_discord: '{{ matrix_appservice_discord_base_path }}/discord-registration.yml'
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- name: Check if a matrix-appservice-discord invite_link file exists
|
- name: Check if a matrix-appservice-discord invite_link file exists
|
||||||
stat:
|
stat:
|
||||||
path: "{{ matrix_appservice_discord_base_path }}/invite_link"
|
path: "{{ matrix_appservice_discord_base_path }}/invite_link"
|
||||||
register: appservice_discord_link_generated
|
register: appservice_discord_link_generated
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- name: Generate your discord invite link
|
- name: Generate your discord invite link
|
||||||
shell: >-
|
shell: >-
|
||||||
|
@ -75,28 +77,17 @@
|
||||||
-w /data
|
-w /data
|
||||||
{{ matrix_appservice_discord_docker_image }}
|
{{ matrix_appservice_discord_docker_image }}
|
||||||
/bin/sh -c "node .././build/tools/addbot.js > invite_link"
|
/bin/sh -c "node .././build/tools/addbot.js > invite_link"
|
||||||
when: "matrix_appservice_discord_enabled and not appservice_discord_link_generated.stat.exists"
|
when: "not appservice_discord_link_generated.stat.exists"
|
||||||
|
|
||||||
|
# If the matrix-synapse role is not used, these variables may not exist.
|
||||||
- set_fact:
|
- set_fact:
|
||||||
matrix_synapse_container_additional_volumes: >
|
matrix_synapse_container_additional_volumes: >
|
||||||
{{ matrix_synapse_container_additional_volumes }}
|
{{ matrix_synapse_container_additional_volumes|default([]) }}
|
||||||
+
|
+
|
||||||
{{ [{'src': '{{ matrix_appservice_discord_base_path }}/discord-registration.yaml', 'dst': '{{ matrix_synapse_app_service_config_file_appservice_discord }}', 'options': 'ro'}] }}
|
{{ [{'src': '{{ matrix_appservice_discord_base_path }}/discord-registration.yaml', 'dst': '{{ matrix_synapse_app_service_config_file_appservice_discord }}', 'options': 'ro'}] }}
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
matrix_synapse_app_service_config_files: >
|
matrix_synapse_app_service_config_files: >
|
||||||
{{ matrix_synapse_app_service_config_files }}
|
{{ matrix_synapse_app_service_config_files|default([]) }}
|
||||||
+
|
+
|
||||||
{{ ["{{ matrix_synapse_app_service_config_file_appservice_discord }}"] | to_nice_json }}
|
{{ ["{{ matrix_synapse_app_service_config_file_appservice_discord }}"] | to_nice_json }}
|
||||||
when: "matrix_appservice_discord_enabled"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Tasks related to getting rid of matrix-appservice-discord (if it was previously enabled)
|
|
||||||
#
|
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-discord.service doesn't exist
|
|
||||||
file:
|
|
||||||
path: "/etc/systemd/system/matrix-appservice-discord.service"
|
|
||||||
state: absent
|
|
||||||
when: "not matrix_appservice_discord_enabled"
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Ensure matrix-appservice-discord.service doesn't exist
|
||||||
|
file:
|
||||||
|
path: "/etc/systemd/system/matrix-appservice-discord.service"
|
||||||
|
state: absent
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Fail if required settings not defined
|
||||||
|
fail:
|
||||||
|
msg: >-
|
||||||
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
|
when: "vars[item] == ''"
|
||||||
|
with_items:
|
||||||
|
- "matrix_appservice_discord_client_id"
|
||||||
|
- "matrix_appservice_discord_bot_token"
|
|
@ -1,10 +1,13 @@
|
||||||
#jinja2: lstrip_blocks: "True"
|
#jinja2: lstrip_blocks: "True"
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Matrix Appservice Discord server
|
Description=Matrix Appservice Discord server
|
||||||
After=docker.service
|
{% for service in matrix_appservice_discord_systemd_required_services_list %}
|
||||||
Requires=docker.service
|
Requires={{ service }}
|
||||||
Requires=matrix-synapse.service
|
After={{ service }}
|
||||||
After=matrix-synapse.service
|
{% endfor %}
|
||||||
|
{% for service in matrix_appservice_discord_systemd_wanted_services_list %}
|
||||||
|
Wants={{ service }}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
|
@ -20,6 +23,9 @@ ExecStart=/usr/bin/docker run --rm --name matrix-appservice-discord \
|
||||||
-p 127.0.0.1:9005:9005 \
|
-p 127.0.0.1:9005:9005 \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
-v {{ matrix_appservice_discord_base_path }}:/data \
|
-v {{ matrix_appservice_discord_base_path }}:/data \
|
||||||
|
{% for arg in matrix_appservice_discord_container_extra_arguments %}
|
||||||
|
{{ arg }} \
|
||||||
|
{% endfor %}
|
||||||
{{ matrix_appservice_discord_docker_image }}
|
{{ matrix_appservice_discord_docker_image }}
|
||||||
|
|
||||||
ExecStop=-/usr/bin/docker kill matrix-appservice-discord
|
ExecStop=-/usr/bin/docker kill matrix-appservice-discord
|
|
@ -238,129 +238,6 @@ matrix_s3_media_store_region: "eu-central-1"
|
||||||
# Controls whether the self-check feature should validate SSL certificates.
|
# Controls whether the self-check feature should validate SSL certificates.
|
||||||
matrix_synapse_self_check_validate_certificates: true
|
matrix_synapse_self_check_validate_certificates: true
|
||||||
|
|
||||||
|
|
||||||
# Matrix Appservice Discord is a Matrix <-> Discord bridge
|
|
||||||
# Enable Discord bridge
|
|
||||||
matrix_appservice_discord_enabled: false
|
|
||||||
|
|
||||||
matrix_appservice_discord_docker_image: "halfshot/matrix-appservice-discord:latest"
|
|
||||||
|
|
||||||
matrix_appservice_discord_base_path: "{{ matrix_base_data_path }}/appservice-discord"
|
|
||||||
|
|
||||||
matrix_appservice_discord_client_id: "YOUR DISCORD APP CLIENT ID"
|
|
||||||
matrix_appservice_discord_bot_token: "YOUR DISCORD APP BOT TOKEN"
|
|
||||||
|
|
||||||
# Controls whether the Appservice Discord container exposes the Client/Server API port (tcp/9005).
|
|
||||||
matrix_appservice_discord_container_expose_client_server_api_port: false
|
|
||||||
|
|
||||||
matrix_appservice_discord_configuration_yaml: |
|
|
||||||
bridge:
|
|
||||||
domain: "{{ matrix_domain }}"
|
|
||||||
homeserverUrl: "{{ matrix_homeserver_url }}"
|
|
||||||
auth:
|
|
||||||
clientID: "{{matrix_appservice_discord_client_id}}"
|
|
||||||
botToken: "{{matrix_appservice_discord_bot_token}}"
|
|
||||||
database:
|
|
||||||
filename: "/data/discord.db"
|
|
||||||
userStorePath: "/data/user-store.db"
|
|
||||||
roomStorePath: "/data/room-store.db"
|
|
||||||
|
|
||||||
matrix_appservice_discord_configuration_extension_yaml: |
|
|
||||||
# This is a sample of the config file showing all avaliable options.
|
|
||||||
# Where possible we have documented what they do, and all values are the
|
|
||||||
# default values.
|
|
||||||
#
|
|
||||||
#bridge:
|
|
||||||
# # Domain part of the bridge, e.g. matrix.org
|
|
||||||
# domain: "localhost"
|
|
||||||
# # This should be your publically facing URL because Discord may use it to
|
|
||||||
# # fetch media from the media store.
|
|
||||||
# homeserverUrl: "http://localhost:8008"
|
|
||||||
# # Interval at which to process users in the 'presence queue'. If you have
|
|
||||||
# # 5 users, one user will be processed every 500 milliseconds according to the
|
|
||||||
# # value below. This has a minimum value of 250.
|
|
||||||
# # WARNING: This has a high chance of spamming the homeserver with presence
|
|
||||||
# # updates since it will send one each time somebody changes state or is online.
|
|
||||||
# presenceInterval: 500
|
|
||||||
# # Disable setting presence for 'ghost users' which means Discord users on Matrix
|
|
||||||
# # will not be shown as away or online.
|
|
||||||
# disablePresence: false
|
|
||||||
# # Disable sending typing notifications when somebody on Discord types.
|
|
||||||
# disableTypingNotifications: false
|
|
||||||
# # Disable deleting messages on Discord if a message is redacted on Matrix.
|
|
||||||
# disableDeletionForwarding: false
|
|
||||||
# # Enable users to bridge rooms using !discord commands. See
|
|
||||||
# # https://t2bot.io/discord for instructions.
|
|
||||||
# enableSelfServiceBridging: false
|
|
||||||
# # Disable sending of read receipts for Matrix events which have been
|
|
||||||
# # successfully bridged to Discord.
|
|
||||||
# disableReadReceipts: false
|
|
||||||
# Authentication configuration for the discord bot.
|
|
||||||
#auth:
|
|
||||||
# clientID: "12345"
|
|
||||||
# botToken: "foobar"
|
|
||||||
#logging:
|
|
||||||
# # What level should the logger output to the console at.
|
|
||||||
# console: "warn" #silly, verbose, info, http, warn, error, silent
|
|
||||||
# lineDateFormat: "MMM-D HH:mm:ss.SSS" # This is in moment.js format
|
|
||||||
# files:
|
|
||||||
# - file: "debug.log"
|
|
||||||
# disable:
|
|
||||||
# - "PresenceHandler" # Will not capture presence logging
|
|
||||||
# - file: "warn.log" # Will capture warnings
|
|
||||||
# level: "warn"
|
|
||||||
# - file: "botlogs.log" # Will capture logs from DiscordBot
|
|
||||||
# level: "info"
|
|
||||||
# enable:
|
|
||||||
# - "DiscordBot"
|
|
||||||
#database:
|
|
||||||
# userStorePath: "user-store.db"
|
|
||||||
# roomStorePath: "room-store.db"
|
|
||||||
# # You may either use SQLite or Postgresql for the bridge database, which contains
|
|
||||||
# # important mappings for events and user puppeting configurations.
|
|
||||||
# # Use the filename option for SQLite, or connString for Postgresql.
|
|
||||||
# # If you are migrating, see https://github.com/Half-Shot/matrix-appservice-discord/blob/master/docs/howto.md#migrate-to-postgres-from-sqlite
|
|
||||||
# # WARNING: You will almost certainly be fine with sqlite unless your bridge
|
|
||||||
# # is in heavy demand and you suffer from IO slowness.
|
|
||||||
# filename: "discord.db"
|
|
||||||
# # connString: "postgresql://user:password@localhost/database_name"
|
|
||||||
#room:
|
|
||||||
# # Set the default visibility of alias rooms, defaults to "public".
|
|
||||||
# # One of: "public", "private"
|
|
||||||
# defaultVisibility: "public"
|
|
||||||
#channel:
|
|
||||||
# # Pattern of the name given to bridged rooms.
|
|
||||||
# # Can use :guild for the guild name and :name for the channel name.
|
|
||||||
# namePattern: "[Discord] :guild :name"
|
|
||||||
# # Changes made to rooms when a channel is deleted.
|
|
||||||
# deleteOptions:
|
|
||||||
# # Prefix the room name with a string.
|
|
||||||
# #namePrefix: "[Deleted]"
|
|
||||||
# # Prefix the room topic with a string.
|
|
||||||
# #topicPrefix: "This room has been deleted"
|
|
||||||
# # Disable people from talking in the room by raising the event PL to 50
|
|
||||||
# disableMessaging: false
|
|
||||||
# # Remove the discord alias from the room.
|
|
||||||
# unsetRoomAlias: true
|
|
||||||
# # Remove the room from the directory.
|
|
||||||
# unlistFromDirectory: true
|
|
||||||
# # Set the room to be unavaliable for joining without an invite.
|
|
||||||
# setInviteOnly: true
|
|
||||||
# # Make all the discord users leave the room.
|
|
||||||
# ghostsLeave: true
|
|
||||||
#limits:
|
|
||||||
# # Delay in milliseconds between discord users joining a room.
|
|
||||||
# roomGhostJoinDelay: 6000
|
|
||||||
# # Delay in milliseconds before sending messages to discord to avoid echos.
|
|
||||||
# # (Copies of a sent message may arrive from discord before we've
|
|
||||||
# # fininished handling it, causing us to echo it back to the room)
|
|
||||||
# discordSendDelay: 750
|
|
||||||
|
|
||||||
matrix_appservice_discord_configuration_extension: "{{ matrix_appservice_discord_configuration_extension_yaml|from_yaml if matrix_appservice_discord_configuration_extension_yaml|from_yaml else {} }}"
|
|
||||||
|
|
||||||
matrix_appservice_discord_configuration: "{{ matrix_appservice_discord_configuration_yaml|from_yaml|combine(matrix_appservice_discord_configuration_extension, recursive=True) }}"
|
|
||||||
|
|
||||||
|
|
||||||
# Controls whether searching the public room list is enabled.
|
# Controls whether searching the public room list is enabled.
|
||||||
matrix_enable_room_list_search: true
|
matrix_enable_room_list_search: true
|
||||||
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/ext/appservice-discord/init.yml"
|
|
|
@ -5,5 +5,3 @@
|
||||||
- import_tasks: "{{ role_path }}/tasks/ext/shared-secret-auth/setup.yml"
|
- import_tasks: "{{ role_path }}/tasks/ext/shared-secret-auth/setup.yml"
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/ext/ldap-auth/setup.yml"
|
- import_tasks: "{{ role_path }}/tasks/ext/ldap-auth/setup.yml"
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/ext/appservice-discord/setup.yml"
|
|
||||||
|
|
|
@ -4,5 +4,3 @@
|
||||||
- set_fact:
|
- set_fact:
|
||||||
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-goofys'] }}"
|
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-goofys'] }}"
|
||||||
when: matrix_s3_media_store_enabled
|
when: matrix_s3_media_store_enabled
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/ext/init.yml"
|
|
|
@ -8,6 +8,7 @@
|
||||||
- matrix-mailer
|
- matrix-mailer
|
||||||
- matrix-postgres
|
- matrix-postgres
|
||||||
- matrix-corporal
|
- matrix-corporal
|
||||||
|
- matrix-bridge-appservice-discord
|
||||||
- matrix-bridge-appservice-irc
|
- matrix-bridge-appservice-irc
|
||||||
- matrix-bridge-mautrix-facebook
|
- matrix-bridge-mautrix-facebook
|
||||||
- matrix-bridge-mautrix-telegram
|
- matrix-bridge-mautrix-telegram
|
||||||
|
|
Loading…
Reference in a new issue