Browse Source

Remove a matrix support role

main
Nick Thomas 3 years ago
parent
commit
410a4446f5
Signed by: lupine
GPG Key ID: 1F1A7ECCCFE0B92F
  1. 4
      roles/matrix/handlers/main.yaml
  2. 17
      roles/matrix/tasks/install.yaml
  3. 40
      roles/matrix/tasks/main.yaml
  4. 7
      roles/matrix/templates/Caddyfile.tmpl
  5. 1
      roles/matrix/templates/etc/matrix-synapse/conf.d/report_stats.yaml.tmpl
  6. 1
      roles/matrix/templates/etc/matrix-synapse/conf.d/server_name.yaml.tmpl
  7. 268
      roles/matrix/templates/etc/matrix-synapse/homeserver.yaml.tmpl

4
roles/matrix/handlers/main.yaml

@ -1,4 +0,0 @@
- name: restart matrix-synapse
service:
name: matrix-synapse
state: restarted

17
roles/matrix/tasks/install.yaml

@ -1,17 +0,0 @@
---
- name: Add matrix.org APT key
apt_key:
url: https://matrix.org/packages/debian/repo-key.asc
- name: Add custom Matrix.org repository
apt_repository:
repo: "deb http://matrix.org/packages/debian/ {{ ansible_distribution_release }} main"
filename: matrix
- name: Install Matrix homeserver
apt:
name: matrix-synapse
- name: Install matrix Angular client
apt:
name: matrix-synapse-angular-client

40
roles/matrix/tasks/main.yaml

@ -1,40 +0,0 @@
---
- include: install.yaml
- name: Add matrix-synapse configuration
template:
dest: "/etc/matrix-synapse/{{ item }}"
src: "etc/matrix-synapse/{{ item }}.tmpl"
owner: root
group: root
mode: 0644
notify: restart matrix-synapse
with_items:
- homeserver.yaml
- conf.d/server_name.yaml
- conf.d/report_stats.yaml
- name: Enable & start matrix-synapse
service:
name: matrix-synapse
enabled: True
state: started
- name: Create matrix.{{ domain }}/public for Caddy
file:
dest: /var/lib/caddy/matrix.{{ domain }}/public
state: directory
recurse: True
owner: caddy
group: caddy
mode: 0755
- name: Integrate with caddy
template:
dest: /etc/caddy/conf.http.d/matrix.{{ domain }}.Caddyfile
src: Caddyfile.tmpl
owner: caddy
group: caddy
mode: 0400
notify: restart caddy

7
roles/matrix/templates/Caddyfile.tmpl

@ -1,7 +0,0 @@
matrix.{{ domain }} {
root /var/lib/caddy/matrix.{{ domain }}/public
log stderr
proxy / http://127.0.0.1:8008
}

1
roles/matrix/templates/etc/matrix-synapse/conf.d/report_stats.yaml.tmpl

@ -1 +0,0 @@
report_stats: false

1
roles/matrix/templates/etc/matrix-synapse/conf.d/server_name.yaml.tmpl

@ -1 +0,0 @@
server_name: {{ domain }}

268
roles/matrix/templates/etc/matrix-synapse/homeserver.yaml.tmpl

@ -1,268 +0,0 @@
# vim:ft=yaml
# PEM encoded X509 certificate for TLS.
# You can replace the self-signed certificate that synapse
# autogenerates on launch with your own SSL certificate + key pair
# if you like. Any required intermediary certificates can be
# appended after the primary certificate in hierarchical order.
---
tls_certificate_path: "/etc/matrix-synapse/homeserver.tls.crt"
# PEM encoded private key for TLS
tls_private_key_path: "/etc/matrix-synapse/homeserver.tls.key"
# PEM dh parameters for ephemeral keys
tls_dh_params_path: "/etc/matrix-synapse/homeserver.tls.dh"
# Don't bind to the https port
# We're proxying through caddy so no need
no_tls: False
## Server ##
# When running as a daemon, the file to store the pid in
pid_file: "/var/run/matrix-synapse.pid"
# Whether to serve a web client from the HTTP/HTTPS root resource.
web_client: False
# The public-facing base URL for the client API (not including _matrix/...)
public_baseurl: https://matrix.{{ domain }}/
# Set the soft limit on the number of file descriptors synapse can use
# Zero is used to indicate synapse should set the soft limit to the
# hard limit.
soft_file_limit: 0
# The GC threshold parameters to pass to `gc.set_threshold`, if defined
# gc_thresholds: [700, 10, 10]
# A list of other Home Servers to fetch the public room directory from
# and include in the public room directory of this home server
# This is a temporary stopgap solution to populate new server with a
# list of rooms until there exists a good solution of a decentralized
# room directory.
# secondary_directory_servers:
# - matrix.org
# - vector.im
# List of ports that Synapse should listen on, their purpose and their
# configuration.
listeners:
- port: 8008
tls: False
bind_address: '127.0.0.1'
type: http
x_forwarded: True
resources:
- names: [client, webclient]
compress: true
- port: 8448
tls: True
bind_address: '::'
type: http
x_forwarded: False
resources:
- names: [federation]
compress: false
database:
name: "sqlite3"
args:
database: "/var/lib/matrix-synapse/homeserver.db"
# Number of events to cache in memory.
event_cache_size: "10K"
# A yaml python logging config file
log_config: "/etc/matrix-synapse/log.yaml"
## Ratelimiting ##
rc_messages_per_second: 0.2
rc_message_burst_count: 10.0
federation_rc_window_size: 1000
federation_rc_sleep_limit: 10
federation_rc_sleep_delay: 500
federation_rc_reject_limit: 50
federation_rc_concurrent: 3
media_store_path: "/var/lib/matrix-synapse/media"
max_upload_size: "10M"
max_image_pixels: "32M"
dynamic_thumbnails: false
thumbnail_sizes:
- width: 32
height: 32
method: crop
- width: 96
height: 96
method: crop
- width: 320
height: 240
method: scale
- width: 640
height: 480
method: scale
- width: 800
height: 600
method: scale
url_preview_enabled: False
# url_preview_ip_range_blacklist:
# - '127.0.0.0/8'
# - '10.0.0.0/8'
# - '172.16.0.0/12'
# - '192.168.0.0/16'
# url_preview_ip_range_whitelist:
# - '192.168.1.1'
# url_preview_url_blacklist:
# # blacklist any URL with a username in its URI
# - username: '*'
#
# # blacklist all *.google.com URLs
# - netloc: 'google.com'
# - netloc: '*.google.com'
#
# # blacklist all plain HTTP URLs
# - scheme: 'http'
#
# # blacklist http(s)://www.acme.com/foo
# - netloc: 'www.acme.com'
# path: '/foo'
#
# # blacklist any URL with a literal IPv4 address
# - netloc: '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'
max_spider_size: "10M"
## Captcha ##
enable_registration_captcha: False
# recaptcha_public_key: "YOUR_PUBLIC_KEY"
# recaptcha_private_key: "YOUR_PRIVATE_KEY"
# A secret key used to bypass the captcha test entirely.
#captcha_bypass_secret: "YOUR_SECRET_HERE"
# The API endpoint to use for verifying m.login.recaptcha responses.
# recaptcha_siteverify_api: "https://www.google.com/recaptcha/api/siteverify"
## Turn ##
# The public URIs of the TURN server to give to clients
turn_uris: []
# The shared secret used to compute passwords for the TURN server
turn_shared_secret: "YOUR_SHARED_SECRET"
# How long generated TURN credentials last
turn_user_lifetime: "1h"
## Registration ##
# Enable registration for new users.
enable_registration: False
# If set, allows registration by anyone who also has the shared
# secret, even if registration is otherwise disabled.
# registration_shared_secret: <PRIVATE STRING>
# Sets the expiry for the short term user creation in
# milliseconds. For instance the bellow duration is two weeks
# in milliseconds.
user_creation_max_duration: 1209600000
# Set the number of bcrypt rounds used to generate password hash.
# Larger numbers increase the work factor needed to generate the hash.
# The default number of rounds is 12.
bcrypt_rounds: 12
# Allows users to register as guests without a password/email/etc, and
# participate in rooms hosted on this server which have been made
# accessible to anonymous users.
allow_guest_access: False
# The list of identity servers trusted to verify third party
# identifiers by this server.
trusted_third_party_id_servers:
- matrix.org
- vector.im
## Metrics ###
# Enable collection and rendering of performance metrics
enable_metrics: False
## API Configuration ##
# A list of event types that will be included in the room_invite_state
room_invite_state_types:
- "m.room.join_rules"
- "m.room.canonical_alias"
- "m.room.avatar"
- "m.room.name"
# A list of application service config file to use
app_service_config_files: []
# macaroon_secret_key: <PRIVATE STRING>
# Used to enable access token expiration.
expire_access_token: False
## Signing Keys ##
# Path to the signing key to sign messages with
signing_key_path: "/etc/matrix-synapse/homeserver.signing.key"
# The keys that the server used to sign messages with but won't use
# to sign new messages. E.g. it has lost its private key
old_signing_keys: {}
# "ed25519:auto":
# # Base64 encoded public key
# key: "The public part of your old signing key."
# # Millisecond POSIX timestamp when the key expired.
# expired_ts: 123456789123
# How long key response published by this server is valid for.
# Used to set the valid_until_ts in /key/v2 APIs.
# Determines how quickly servers will query to check which keys
# are still valid.
key_refresh_interval: "1d" # 1 Day.
# The trusted servers to download signing keys from.
perspectives:
servers:
"matrix.org":
verify_keys:
"ed25519:auto":
key: "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw"
# The JWT needs to contain a globally unique "sub" (subject) claim.
#
# jwt_config:
# enabled: true
# secret: "a secret"
# algorithm: "HS256"
# Enable password for login.
password_config:
enabled: true
# Enable sending emails for notification events
#email:
# enable_notifs: false
# smtp_host: "localhost"
# smtp_port: 25
# notif_from: "Your Friendly %(app)s Home Server <noreply@example.com>"
# app_name: Matrix
# template_dir: res/templates
# notif_template_html: notif_mail.html
# notif_template_text: notif_mail.txt
# notif_for_new_users: True
Loading…
Cancel
Save