matrix/roles/synapse/defaults/main/homeserver.media_repo.yml

100 lines
4.3 KiB
YAML

---
# Media repo configuration
synapse_config_enable_media_repo: true #TODO: set to false if workers enabled
synapse_config_enable_authenticated_media: true
synapse_config_media_store_path: "{{ synapse_media_store_path }}"
synapse_config_max_pending_media_uploads: 10
synapse_config_unused_expiration_time: "1h"
# see https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#media_storage_providers
synapse_config_media_store_providers: []
synapse_config_max_upload_size: "50M"
synapse_config_max_image_pixels: "32M"
synapse_config_dynamic_thumbnails: true
# The following values are KiB/Mib per burst/second
synapse_config_remote_media_download_burst_count: "500M"
synapse_config_remote_media_download_per_second: "87K"
# Blacklist known spam servers here
synapse_config_prevent_media_downloads_from: []
synapse_config_media_retention_local_media_lifetime: ~
synapse_config_media_retention_remote_media_lifetime: ~
synapse_config_media_retention: >-
{{ {}
| combine(({"local_media_lifetime": synapse_config_media_retention_local_media_lifetime})
if synapse_config_media_retention_local_media_lifetime | default(false, true) else {})
| combine(({"remote_media_lifetime": synapse_config_media_retention_remote_media_lifetime })
if synapse_config_media_retention_remote_media_lifetime | default(false, true) else {})
}}
# URL preview handling
synapse_config_url_preview_enabled: true
# Following recommendations from
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_ip_range_blacklist
synapse_config_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'
synapse_config_url_preview_ip_range_whitelist: ~
# see https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_url_blacklist
synapse_config_url_preview_url_blacklist:
- username: "*"
- netloc: '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'
# see https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_accept_language
synapse_config_url_preview_accept_language:
- "en"
synapse_config_max_spider_size: 8M
synapse_config_oembed_disable_default_providers: false
synapse_config_oembed_additional_providers: []
synapse_base_media_config:
enable_media_repo: "{{ synapse_config_enable_media_repo }}"
enable_authenticated_media: "{{ synapse_config_enable_authenticated_media }}"
media_store_path: "{{ synapse_config_media_store_path }}"
max_pending_media_uploads: "{{ synapse_config_max_pending_media_uploads }}"
unused_expiration_time: "{{ synapse_config_unused_expiration_time }}"
media_store_providers: "{{ synapse_config_media_store_providers }}"
max_upload_size: "{{ synapse_config_max_upload_size }}"
max_image_pixels: "{{ synapse_config_max_image_pixels }}"
# Media - remote media handling
remote_media_download_burst_count: >-
{{ synapse_config_remote_media_download_burst_count }}
remote_media_download_per_second: >-
{{ synapse_config_remote_media_download_per_second }}
prevent_media_downloads_from: "{{ synapse_config_prevent_media_downloads_from }}"
media_retention: "{{ synapse_config_media_retention }}"
# Media - URL preview options
dynamic_thumbnails: "{{ synapse_config_dynamic_thumbnails }}"
url_preview_enabled: "{{ synapse_config_url_preview_enabled }}"
url_preview_ip_range_blacklist: >-
{{ synapse_config_url_preview_ip_range_blacklist }}
url_preview_url_blacklist: "{{ synapse_config_url_preview_url_blacklist }}"
url_preview_accept_language: "{{ synapse_config_url_preview_accept_language }}"
max_spider_size: "{{ synapse_config_max_spider_size }}"
oembed:
disable_default_providers: "{{ synapse_config_oembed_disable_default_providers }}"
additional_providers: "{{ synapse_config_oembed_additional_providers }}"
synapse_media_config: >-2
{{
synapse_base_media_config
| combine(({'url_preview_ip_range_whitelist': synapse_config_url_preview_ip_range_whitelist})
if synapse_config_url_preview_ip_range_whitelist | default(false, true) else {})
}}