matrix-room-exporter/README.md

31 lines
1.5 KiB
Markdown
Raw Normal View History

2024-04-03 19:41:36 -06:00
# matrix-room-exporter
2024-04-03 22:57:54 -06:00
_Export a Matrix a room._
2024-04-03 23:07:42 -06:00
A quick-n-dirty bot that exports a Matrix room and uploads the archive to a Cloudflare R2 bucket for the room to
download.
2024-04-03 22:57:54 -06:00
### Install
1. `pip install -r requirements.txt`
2024-04-04 15:04:13 -06:00
2. `sudo apt install redis-server && sudo systemctl enable --now redis-server`
2024-04-04 15:22:43 -06:00
3. `cp config.yml.sample config.yml`
2024-04-04 15:04:13 -06:00
4. [Create a Cloudflare R2 bucket](https://developers.cloudflare.com/r2/get-started/#2-create-a-bucket).
5. Enable [public access](https://developers.cloudflare.com/r2/buckets/public-buckets/).
6. Create an [access key](https://developers.cloudflare.com/r2/api/s3/tokens/).
7. Configure `config.yml` with your R2 credentials.
8. Set up an [object lifecycle rule](https://developers.cloudflare.com/r2/buckets/object-lifecycles) to auto-delete old exports from your bucket. 24 hours is a good choice.
9. Set up a [matrix-org/pantalaimon](https://github.com/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`
2024-04-03 22:57:54 -06:00
### Use
1. Invite the new bot to the room you want to export.
2. Send the message `!export` to start the export process.
2024-04-03 23:07:42 -06:00
The bot will upload the exported room to your R2 bucket and share the link with the room.
2024-04-04 15:49:21 -06:00
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.