Matrix Docker Ansible eploy
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

48 řádky
1.3 KiB

  1. #jinja2: lstrip_blocks: True
  2. #!/bin/bash
  3. # this script is used to workaround the https://github.com/matrix-org/rust-synapse-compress-state/issues/78,
  4. # and it is based on postgres' cli-non-interactive and https://github.com/matrix-org/rust-synapse-compress-state/issues/78#issuecomment-1409932869
  5. docker run \
  6. --rm \
  7. --user={{ matrix_synapse_auto_compressor_uid }}:{{ matrix_synapse_auto_compressor_gid }} \
  8. --cap-drop=ALL \
  9. --interactive \
  10. --network={{ matrix_synapse_auto_compressor_container_network }} \
  11. --env-file={{ matrix_synapse_auto_compressor_base_path }}/env \
  12. {{ matrix_synapse_auto_compressor_postgres_image }} \
  13. psql -h {{ matrix_synapse_auto_compressor_database_hostname }} \
  14. <<_EOF
  15. BEGIN;
  16. DELETE
  17. FROM state_compressor_state AS scs
  18. WHERE NOT EXISTS
  19. (SELECT *
  20. FROM rooms AS r
  21. WHERE r.room_id = scs.room_id);
  22. DELETE
  23. FROM state_compressor_state AS scs
  24. WHERE scs.room_id in
  25. (SELECT DISTINCT room_id
  26. FROM state_compressor_state AS scs2
  27. WHERE scs2.current_head IS NOT NULL
  28. AND NOT EXISTS
  29. (SELECT *
  30. FROM state_groups AS sg
  31. WHERE sg.id = scs2.current_head));
  32. DELETE
  33. FROM state_compressor_progress AS scp
  34. WHERE NOT EXISTS
  35. (SELECT *
  36. FROM state_compressor_state AS scs
  37. WHERE scs.room_id = scp.room_id);
  38. COMMIT;
  39. _EOF
  40. # vim: ft=sh