The import-synapse-media-store task synchronizes the media store with ansible.posix.synchronize delegated to the server itself, which requires the rsync binary on the server. Nothing in the playbook installs it, so the import failed on minimal systems with "Failed to find required executable rsync". Document the prerequisite. Fixes #2551 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.8 KiB
Importing media_store data files from an existing Synapse installation (optional)
You can manually import your media_store files from a previous installation of Synapse.
Prerequisites
Before doing the actual data restore, you need to upload your media store directory to the server (any path is okay).
You also need the rsync utility installed on the server, as the import performs a server-side rsync synchronization. The playbook does not install it for you. On most distributions, it is available as a package called rsync.
If you are storing Matrix media files on Amazon S3 (optional), restoring with this tool is not possible right now.
As an alternative, you can perform a manual restore using the AWS CLI tool (e.g. aws s3 sync /path/to/server/media_store/. s3://name-of-bucket/)
Note for Mac users: Due to case-sensitivity issues on certain Mac filesystems (HFS or HFS+), filename corruption may occur if you copy a media_store directory to your Mac. If you're transferring a media_store directory between 2 servers, make sure you do it directly (from server to server with a tool such as rsync), and not by downloading the files to your Mac.
Importing
Run this command (make sure to replace <server-path-to-media_store> with a path on your server):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='server_path_media_store=<server-path-to-media_store>' --tags=import-synapse-media-store
Note: <server-path-to-media_store> must be a file path to a media_store directory on the server (not on your local machine!).