Exporting Signal backups
- Create a backup with Signal. Be careful – if you delete all your conversations, another two backups will be enough to delete your precious backup file! So move your backup somewhere safe.
For exporting the backup, I use the Docker version of signalbackup-tools provided by this repository.
The Dockerfile has not been updated for a while so you need to change:
FROM fedora:31
…to:
FROM fedora:latest
…otherwise compiling
signalbackup-tools
will fail. At least, it did fail for me.Create the Docker image:
docker build -t signalbackuptools:latest .
Create a directory and copy your Signal backup file there. Also, create directories for different export formats. I'll create directories for a raw export, a HTML export and a plain text export:
mkdir raw html txt
Run a container with the right parameters.
Raw export:
docker run -it -v "$PWD:$PWD" -w "$PWD" signalbackuptools:latest [backup-file] [passphrase] --output raw
HTML export:
docker run -it -v "$PWD:$PWD" -w "$PWD" signalbackuptools:latest [backup-file] [passphrase] --exporthtml ./html
Plain text export:
docker run -it -v "$PWD:$PWD" -w "$PWD" signalbackuptools:latest [backup-file] [passphrase] --exporttxt ./txt
(Optional) In case you're migrating an old but compatible backup, you might need to add the
--migratedb
parameter to the commands above. Their output will tell you to do it anyway.If the backup is too old to be compatible, you can still do a raw export and explore the database using, for instance, sqlitebrowser.