diff options
Diffstat (limited to 'synapse/config')
-rw-r--r-- | synapse/config/repository.py | 10 | ||||
-rw-r--r-- | synapse/config/server.py | 17 |
2 files changed, 25 insertions, 2 deletions
diff --git a/synapse/config/repository.py b/synapse/config/repository.py index fbfcecc240..db7055ac5e 100644 --- a/synapse/config/repository.py +++ b/synapse/config/repository.py @@ -107,11 +107,18 @@ def parse_thumbnail_requirements(thumbnail_sizes): class ContentRepositoryConfig(Config): def read_config(self, config): + self.enable_media_repo = config.get("enable_media_repo", True) + self.max_upload_size = self.parse_size(config.get("max_upload_size", "10M")) self.max_image_pixels = self.parse_size(config.get("max_image_pixels", "32M")) self.max_spider_size = self.parse_size(config.get("max_spider_size", "10M")) - self.media_store_path = self.ensure_directory(config["media_store_path"]) + if self.enable_media_repo: + self.media_store_path = self.ensure_directory(config["media_store_path"]) + self.uploads_path = self.ensure_directory(config["uploads_path"]) + else: + self.media_store_path = None + self.uploads_path = None backup_media_store_path = config.get("backup_media_store_path") @@ -168,7 +175,6 @@ class ContentRepositoryConfig(Config): (provider_class, parsed_config, wrapper_config,) ) - self.uploads_path = self.ensure_directory(config["uploads_path"]) self.dynamic_thumbnails = config.get("dynamic_thumbnails", False) self.thumbnail_requirements = parse_thumbnail_requirements( config.get("thumbnail_sizes", DEFAULT_THUMBNAIL_SIZES), diff --git a/synapse/config/server.py b/synapse/config/server.py index f34aa42afa..30adb5c5e7 100644 --- a/synapse/config/server.py +++ b/synapse/config/server.py @@ -221,6 +221,12 @@ class ServerConfig(Config): self.gc_thresholds = read_gc_thresholds(config.get("gc_thresholds", None)) + # Resource-constrained Homeserver Configuration + self.limit_large_room_joins = config.get("limit_large_remote_room_joins", False) + self.limit_large_room_complexity = config.get( + "limit_large_remote_room_complexity", 1.0 + ) + bind_port = config.get("bind_port") if bind_port: if config.get("no_tls", False): @@ -572,6 +578,17 @@ class ServerConfig(Config): # Used by phonehome stats to group together related servers. #server_context: context + # Resource-constrained Homeserver Settings + # + # If limit_large_remote_room_joins is True, the room complexity will be + # checked before a user joins a new remote room. If it is above + # limit_large_remote_room_complexity, it will disallow joining or + # instantly leave. + # + # Uncomment the below lines to enable: + #limit_large_remote_room_joins: True + #limit_large_remote_room_complexity: 1.0 + # Whether to require a user to be in the room to add an alias to it. # Defaults to 'true'. # |