matrix-docker-ansible-deploy
matrix-docker-ansible-deploy copied to clipboard
Investigate enabling synapse_auto_compressor from rust-synapse-compress-state
Describe the solution you'd like
From the authors of rust-synapse-compress-state, a new incremental synapse_auto_compressor is available to periodically run and clean up things, instead of a single massive analysis and compression.
I think its already in the docker image for rust-synapse-compress-state
Taking a look at the existing command, something like this
matrix_synapse_rust_synapse_auto_compress_state_command: >-
{{ matrix_host_command_docker }} run --rm --name matrix_synapse_rust_synapse_auto_compress_state
--user={{ matrix_user_uid }}:{{ matrix_user_gid }}
--cap-drop=ALL
--network={{ matrix_docker_network }}
--mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work
{{ matrix_synapse_rust_synapse_compress_state_docker_image }}
/usr/local/bin/synapse_auto_compressor
-n 100 -c 500
-p "host={{ matrix_synapse_database_host }} user={{ matrix_synapse_database_user }} password={{ matrix_synapse_database_password }} dbname={{ matrix_synapse_database_database }}"
Is a reasonable default
Looks like we'd need to run such a command on a timer.
We're currently using rust-synapse-compress-state from the mb-saces Gitlab fork, because it provides prebuilt images.
It appears to be mostly up-to-date, only lacking the latest b4f3d8adbdb1 commit.
Another way to go about this is to add support for synatainer, which can run both the automatic state compressor and some other maintenance tools.