Remove appservice Discord

pull/1/head
Alexandre Iooss 5 years ago
parent 743e902e85
commit 6cc0a6a6b7
No known key found for this signature in database
GPG Key ID: 6C79278F3FCDCC02

@ -9,7 +9,6 @@
- nodejs
- matrix-synapse
- matrix-mxisd
- matrix-appservice-discord
- matrix-appservice-irc
- matrix-appservice-webhooks

@ -1,15 +0,0 @@
---
# service_name is the name of the project on GitHub
service_name: matrix-appservice-discord
# URL to clone
service_repo: https://github.com/Half-Shot/matrix-appservice-discord.git
# name of the service user
# It means that you will have to `sudo -u THISUSER zsh` to debug
service_user: "{{ service_name }}"
service_homedir: "/var/local/{{ service_name }}"
# service_path is where the project is cloned
# It can't be the home directory because of user hidden files.
service_path: "{{ service_homedir }}/{{ service_name }}"

@ -1,69 +0,0 @@
---
# Create service user
- include_tasks: service_user.yml
- name: "Clone {{ service_name }} project"
git:
repo: "{{ service_repo }}"
dest: "{{ service_path }}"
version: 14cf2829510e8b7b99b3238e2deaddf296ab4b76
become: true
become_user: "{{ service_user }}"
# Setup dependencies
# May create issues with package-lock.json not in gitignore
- name: "Install {{ service_name }} dependencies"
npm:
path: "{{ service_path }}"
production: true
become: true
become_user: "{{ service_user }}"
register: npm_result
retries: 3
until: npm_result is succeeded
# Typescript into javascript
- name: Compile matrix-appservice-discord
command: ./node_modules/.bin/tsc
args:
chdir: "{{ service_path }}"
register: npm_build_result
changed_when: npm_build_result
become: true
become_user: "{{ service_user }}"
- name: "Configure {{ service_name }}"
template:
src: config.yaml.j2
dest: "{{ service_path }}/config.yaml"
owner: "{{ service_user }}"
group: nogroup
mode: 0600
# Service file
- name: "Install {{ service_name }} systemd unit"
template:
src: systemd/appservice.service.j2
dest: "/etc/systemd/system/{{ service_name }}.service"
owner: root
group: root
mode: 0644
# TODO generate registration
- name: Copy appservice registration file
copy:
src: "{{ service_path }}/discord-registration.yaml"
dest: "/etc/matrix-synapse/{{ service_name }}-registration.yaml"
owner: matrix-synapse
group: nogroup
mode: 0600
remote_src: true
# Run
- name: "Ensure that {{ service_name }} is started"
systemd:
name: "{{ service_name }}"
state: started
enabled: true
daemon_reload: true

@ -1,19 +0,0 @@
---
# Having a custom group is useless so use nogroup
- name: "Create {{ service_user }} user"
user:
name: "{{ service_user }}"
group: nogroup
home: "{{ service_homedir }}"
system: true
shell: /bin/false
state: present
# Only service user should be able to go there
- name: "Secure {{ service_user }} home directory"
file:
path: "{{ service_homedir }}"
state: directory
owner: "{{ service_user }}"
group: nogroup
mode: 0700

@ -1,87 +0,0 @@
# {{ ansible_managed }}
bridge:
# Domain part of the bridge, e.g. matrix.org
domain: "auro.re"
# This should be your publically facing URL because Discord may use it to
# fetch media from the media store.
homeserverUrl: "http://auro.re"
# 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: true
# Disable sending of read receipts for Matrix events which have been
# successfully bridged to Discord.
disableReadReceipts: false
# Disable Join Leave echos from matrix
disableJoinLeaveNotifications: true
# Authentication configuration for the discord bot.
auth:
clientID: "{{ matrix_discord_client_id }}"
botToken: "{{ matrix_discord_bot_token }}"
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: "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: ":name :guild"
# 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: false
# Remove the room from the directory.
unlistFromDirectory: false
# Set the room to be unavaliable for joining without an invite.
setInviteOnly: false
# 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

@ -1,18 +0,0 @@
# {{ ansible_managed }}
[Unit]
Description=A bridge between Matrix and Discord
After=syslog.target network-online.target mysql.service postgresql.service
Conflicts=shutdown.target
[Service]
Type=simple
User={{ service_user }}
WorkingDirectory={{ service_path }}
Environment="NODE_ENV=production"
ExecStart=/usr/bin/nodejs ./build/src/discordas.js -p 9005 -c config.yaml
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
Loading…
Cancel
Save