mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-07-05 18:54:38 -04:00

* move wiki pages to synapse/docs and add a few titles where necessary * update SUMMARY.md with added pages * add changelog * move incorrectly located newsfragment * update changelog number * snake case added files and update summary.md accordingly * update issue/pr links * update relative links to docs * update changelog to indicate that we moved wiki pages to the docs and state reasoning * revert unintentional change to CHANGES.md * add link Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Update CHANGES.md Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
36 lines
No EOL
2.4 KiB
Markdown
36 lines
No EOL
2.4 KiB
Markdown
This blog post by Victor Berger explains how to use many of the tools listed on this page: https://levans.fr/shrink-synapse-database.html
|
|
|
|
# List of useful tools and scripts for maintenance Synapse database:
|
|
|
|
## [Purge Remote Media API](../../admin_api/media_admin_api.md#purge-remote-media-api)
|
|
The purge remote media API allows server admins to purge old cached remote media.
|
|
|
|
#### Purge local media
|
|
|
|
There is no purge API for local media because you may be the only one with a copy. If you are sure you want to delete local media you could use something like the following to delete media that hasn't been accessed in a while.
|
|
|
|
```
|
|
find /path/to/synapse/media_store/local_content -atime +365 -delete
|
|
find /path/to/synapse/media_store/local_thumbnails -atime +365 -delete
|
|
```
|
|
|
|
This will delete media that hasn't been accessed in 365 days.
|
|
|
|
**Warning, check noatime flag**: You also have to double-check that the filesystem where synapse's media store don't have [noatime flag](https://unix.stackexchange.com/questions/219015/how-to-disable-access-time-settings-in-debian-linux/219017#219017). Check it with `mount`, `noatime` is something that is usually enabled by default to reduce read-write operations in the filesystem for a feature is not so demanded.
|
|
|
|
## [Purge History API](../../admin_api/purge_history_api.md)
|
|
The purge history API allows server admins to purge historic events from their database, reclaiming disk space.
|
|
|
|
## [synapse_janitor.sql](https://github.com/xwiki-labs/synapse_scripts)
|
|
|
|
- this project is [unmantained and dangerous](https://github.com/xwiki-labs/synapse_scripts#unmaintained-and-dangerous)
|
|
- USE WITH CAUTION. It may cause database corruption (see https://github.com/matrix-org/synapse/issues/7305 for example).
|
|
- ["Our team hasn't used any of these scripts for some time (possibly years) (...) if anyone wants to volunteer to maintain this repo I'd be happy to transfer ownership.](https://github.com/xwiki-labs/synapse_scripts/pull/12#issuecomment-617275345)
|
|
|
|
Cleans a synapse Postgres database of deleted messages and abandoned rooms.
|
|
|
|
## [synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)
|
|
Tool for compressing (deduplicating) `state_groups_state` table.
|
|
|
|
## [SQL for analyzing Synapse PostgreSQL database stats](https://github.com/matrix-org/synapse/wiki/SQL-for-analyzing-Synapse-PostgreSQL-database-stats)
|
|
Some easy SQL that reports useful stat about Matrix Synapse database. |