Export a Matrix a room.
Go to file
Cyberes 030a04e989 fix readme 2024-04-04 15:49:21 -06:00
exporter fix concurrancy, add whitelist 2024-04-04 15:04:13 -06:00
.gitignore add files 2024-04-03 22:57:54 -06:00
LICENSE Initial commit 2024-04-03 19:41:36 -06:00
README.md fix readme 2024-04-04 15:49:21 -06:00
config.yml.sample fix concurrancy, add whitelist 2024-04-04 15:04:13 -06:00
main.py fix default config 2024-04-04 15:06:36 -06:00
matrix-room-exporter.service logging and more info and service 2024-04-03 23:07:42 -06:00
requirements.txt fix concurrancy, add whitelist 2024-04-04 15:04:13 -06:00



Export a Matrix a room.

A quick-n-dirty bot that exports a Matrix room and uploads the archive to a Cloudflare R2 bucket for the room to download.


  1. pip install -r requirements.txt
  2. sudo apt install redis-server && sudo systemctl enable --now redis-server
  3. cp config.yml.sample config.yml
  4. Create a Cloudflare R2 bucket.
  5. Enable public access.
  6. Create an access key.
  7. Configure config.yml with your R2 credentials.
  8. Set up an object lifecycle rule to auto-delete old exports from your bucket. 24 hours is a good choice.
  9. Set up a matrix-org/pantalaimon for encrypted sync.
  10. Create a new Matrix user and configure it in config.yml
  11. Add your username to allowed_to_export in config.yml
  12. Start the bot with python3 main.py


  1. Invite the new bot to the room you want to export.
  2. Send the message !export to start the export process.

The bot will upload the exported room to your R2 bucket and share the link with the room.

Remember, if your room is encrypted and new members can't see old history prior to their joining then the bot won't be able to export anything earlier than when it joined.