diff --git a/homeserver.prune.yaml b/homeserver.prune.yaml new file mode 100644 index 0000000..5d13561 --- /dev/null +++ b/homeserver.prune.yaml @@ -0,0 +1,292 @@ +# Configuration file for Synapse. +# +# This is a YAML file: see [1] for a quick introduction. Note in particular +# that *indentation is important*: all the elements of a list or dictionary +# should have the same indentation. +# +# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html + +modules: + # - module: my_super_module.MySuperClass + # config: + # do_thing: true + # - module: my_other_super_module.SomeClass + # config: {} + + +## Server ## + +# The public-facing domain of the server +# Examples: matrix.org, localhost:8080 +server_name: "thewords.faith" +pid_file: /opt/synapse/homeserver.pid + +# The absolute URL to the web client which /_matrix/client will redirect +# to if 'webclient' is configured under the 'listeners' configuration. +# +# This option can be also set to the filesystem path to the web client +# which will be served at /_matrix/client/ if 'webclient' is configured +# under the 'listeners' configuration, however this is a security risk: +# https://github.com/matrix-org/synapse#security-note +# +web_client_location: https://app.thewords.faith/ +public_baseurl: https://thewords.faith/ + +#soft_file_limit: 0 + +presence: + # Uncomment to disable presence tracking on this homeserver. This option + # replaces the previous top-level 'use_presence' option. + # + #enabled: false + +#require_auth_for_profile_requests: true +#limit_profile_requests_to_users_who_share_rooms: true +#include_profile_data_on_invite: false +#allow_public_rooms_without_auth: true +#allow_public_rooms_over_federation: true +#default_room_version: "6" +#gc_thresholds: [700, 10, 10] +#gc_min_interval: [0.5s, 30s, 1m] +#filter_timeline_limit: 5000 +#block_non_admin_invites: true +#enable_search: false + +listeners: + - port: 8008 + tls: false + type: http + x_forwarded: true + bind_addresses: ['::1', '127.0.0.1'] + + resources: + - names: [client, federation] + compress: false + + - type: metrics + port: 9072 + bind_addresses: ['127.0.0.1'] + + - port: 9092 + bind_addresses: ['::1', '127.0.0.1'] + type: replication + + - port: 9093 + bind_addresses: ['::1', '127.0.0.1'] + type: http + resources: + - names: [replication] + + +# +manhole_settings: + + +## Homeserver blocking ## + +# How to reach the server admin, used in ResourceLimitError +# +admin_contact: 'mailto:admin@athnex.com' + +# Used by phonehome stats to group together related servers. +#server_context: context + +limit_remote_rooms: + +# How long to track users' last seen time and IPs in the database. +# +# Defaults to `28d`. Set to `null` to disable clearing out of old rows. +# +user_ips_max_age: 14d + +retention: + #enabled: true + #default_policy: + # min_lifetime: 1d + # max_lifetime: 1y + #allowed_lifetime_min: 1d + #allowed_lifetime_max: 1y + + +templates: + # Directory in which Synapse will try to find template files to use to generate + # email or HTML page contents. + # If not set, or a file is not found within the template directory, a default + # template from within the Synapse package will be used. + # + # See https://matrix-org.github.io/synapse/latest/templates.html for more + # information about using custom templates. + # + #custom_template_directory: /path/to/custom/templates/ + + +event_cache_size: 45K + +caches: + global_factor: 6.0 + per_cache_factors: + get_users_who_share_room_with_user: 2.0 + # expiry_time: 30m + sync_response_cache_duration: 6m + cache_autotuning: + max_cache_memory_usage: 6024M + target_cache_memory_usage: 2048M + min_cache_ttl: 5m + +database: + name: psycopg2 + args: + user: synapse + password: 1234abc + database: synapse + host: 127.0.0.1 + cp_min: 5 + cp_max: 20 + keepalives_idle: 10 + keepalives_interval: 10 + keepalives_count: 3 + +## Logging ## + +# A yaml python logging config file as described by +# https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema +# +log_config: "/opt/synapse/thewords.faith.log.config" + + +## Media Store ## +#enable_media_repo: false +media_store_path: "/opt/synapse/media_store" + +max_upload_size: 65M +#max_image_pixels: 32M +#dynamic_thumbnails: false +url_preview_enabled: true +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' + - '100.64.0.0/10' + - '192.0.0.0/24' + - '169.254.0.0/16' + - '192.88.99.0/24' + - '198.18.0.0/15' + - '192.0.2.0/24' + - '198.51.100.0/24' + - '203.0.113.0/24' + - '224.0.0.0/4' + - '::1/128' + - 'fe80::/10' + - 'fc00::/7' + - '2001:db8::/32' + - 'ff00::/8' + - 'fec0::/10' +max_spider_size: 3M +url_preview_accept_language: +# - en + +oembed: + +recaptcha_public_key: "" +recaptcha_private_key: "" +enable_registration_captcha: true + +# TURN info +turn_uri: [ "turn:thewords.faith?transport=udp", "turn:thewords.faith?transport=tcp" ] +turn_shared_secret: "" +turn_user_lifetime: 86400000 +turn_allow_guests: true + +enable_registration: true + +registration_shared_secret: "" + +default_identity_server: https://matrix.org + +account_threepid_delegates: + #email: https://example.com # Delegate email sending to example.com + #msisdn: http://localhost:8090 # Delegate SMS sending to this local process + +enable_metrics: true +metrics_flags: + # Publish synapse_federation_known_servers, a gauge of the number of + # servers this homeserver knows about, including itself. May cause + # performance problems on large homeservers. + # + known_servers: false + +# Whether or not to report anonymized homeserver usage statistics. +# +report_stats: true + +room_prejoin_state: + +#app_service_config_files: +# - app_service_1.yaml +# - app_service_2.yaml + +macaroon_secret_key: "" +form_secret: "" +signing_key_path: "/opt/synapse/signing.key" + +old_signing_keys: + + +trusted_key_servers: + - server_name: "matrix.org" + +suppress_key_server_warning: true + +password_config: + #pepper: "EVEN_MORE_SECRET" + policy: + +email: + smtp_host: smtp.mailgun.org + smtp_port: 587 + smtp_user: "" + smtp_pass: "" + require_transport_security: true + enable_tls: true + notif_from: "thewords.faith homeserver " + app_name: thewords_matrix_server + enable_notifs: true + notif_for_new_users: true + #validation_token_lifetime: 15m + invite_client_location: https://app.thewords.faith + +push: + +user_directory: + enabled: true +stats: + +opentracing: + +#send_federation: false +#federation_sender_instances: +# - federation_sender1 + +send_federation: False +enable_media_repo: False + #update_user_directory: false + #update_user_directory_from_worker: synapse.app.generic_worker +update_user_directory_from_worker: synapse.app.userworker1 + +federation_sender_instances: + - federation_send1 + - federation_send2 + + +#instance_map: +# worker1: +# host: localhost +# port: 8034 + +redis: + enabled: true + host: localhost + port: 6379 + +# vim:ft=yaml diff --git a/workers/client_reader.yaml b/workers/client_reader.yaml new file mode 100755 index 0000000..95e64b4 --- /dev/null +++ b/workers/client_reader.yaml @@ -0,0 +1,17 @@ +worker_app: synapse.app.client_reader + +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8186 + resources: + - names: + - client + +worker_daemonize: True +worker_pid_file: /opt/synapse/client_reader.pid +worker_log_config: /opt/synapse/thewords.faith.log.config diff --git a/workers/federation_sender.yaml b/workers/federation_sender.yaml new file mode 100755 index 0000000..4324b50 --- /dev/null +++ b/workers/federation_sender.yaml @@ -0,0 +1,18 @@ +worker_app: synapse.app.federation_sender +worker_name: federation_send1 + +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8184 + resources: + - names: + - client + +worker_daemonize: True +worker_pid_file: /opt/synapse/federation_sender.pid +worker_log_config: /opt/synapse/thewords.faith.fedsender.log.config diff --git a/workers/federation_sender2.yaml b/workers/federation_sender2.yaml new file mode 100755 index 0000000..6cfbce0 --- /dev/null +++ b/workers/federation_sender2.yaml @@ -0,0 +1,18 @@ +worker_app: synapse.app.federation_sender +worker_name: federation_send2 + +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8284 + resources: + - names: + - client + +worker_daemonize: True +worker_pid_file: /opt/synapse/federation_sender2.pid +worker_log_config: /opt/synapse/thewords.faith.fedsender.log.config diff --git a/workers/frontend_proxy.yaml b/workers/frontend_proxy.yaml new file mode 100755 index 0000000..1b6c3a6 --- /dev/null +++ b/workers/frontend_proxy.yaml @@ -0,0 +1,19 @@ +worker_app: synapse.app.frontend_proxy + +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8188 + resources: + - names: + - client + +worker_daemonize: True +worker_pid_file: /opt/synapse/frontend_proxy.pid +worker_log_config: /opt/synapse/thewords.faith.log.config + +worker_main_http_uri: http://127.0.0.1:8008 diff --git a/workers/homeserver.yaml b/workers/homeserver.yaml new file mode 100644 index 0000000..3942991 --- /dev/null +++ b/workers/homeserver.yaml @@ -0,0 +1,2 @@ +worker_app: synapse.app.homeserver +daemonize: true diff --git a/workers/media_repository.yaml b/workers/media_repository.yaml new file mode 100755 index 0000000..3b449c7 --- /dev/null +++ b/workers/media_repository.yaml @@ -0,0 +1,17 @@ +worker_app: synapse.app.media_repository + +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8185 + resources: + - names: + - media + +worker_daemonize: True +worker_pid_file: /opt/synapse/media_store.pid +worker_log_config: /opt/synapse/thewords.faith.media.log.config diff --git a/workers/synchrotron.yaml b/workers/synchrotron.yaml new file mode 100755 index 0000000..fb671cc --- /dev/null +++ b/workers/synchrotron.yaml @@ -0,0 +1,17 @@ +worker_app: synapse.app.synchrotron +worker_name: synchrotron1 +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8183 + resources: + - names: + - client + +worker_daemonize: True +worker_pid_file: /opt/synapse/synchrotron.pid +worker_log_config: /opt/synapse/thewords.faith.synchro.log.config diff --git a/workers/synchrotron2.yaml b/workers/synchrotron2.yaml new file mode 100755 index 0000000..d5f6616 --- /dev/null +++ b/workers/synchrotron2.yaml @@ -0,0 +1,17 @@ +worker_app: synapse.app.synchrotron +worker_name: synchrotron2 +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8173 + resources: + - names: + - client + +worker_daemonize: True +worker_pid_file: /opt/synapse/synchrotron2.pid +worker_log_config: /opt/synapse/thewords.faith.synchro.log.config diff --git a/workers/user_dir.yaml b/workers/user_dir.yaml new file mode 100755 index 0000000..377346d --- /dev/null +++ b/workers/user_dir.yaml @@ -0,0 +1,17 @@ +worker_app: synapse.app.generic_worker +worker_name: userworker1 +# The replication listener on the synapse to talk to. +worker_replication_host: 127.0.0.1 +worker_replication_port: 9092 +worker_replication_http_port: 9093 + +worker_listeners: + - type: http + port: 8187 + resources: + - names: + - client + +worker_daemonize: True +worker_pid_file: /opt/synapse/user_dir.pid +worker_log_config: /opt/synapse/thewords.faith.generic.log.config