Migrating to FédiMon
The process can be done in a few hours to a few days, depending on the size of the instance, everyone's availability, and the complexity afforded.
For self-hosted instances, there is a summary of the commands you would need down below.
For hosted services, you need to use the tools made available by your hosting provider, or contact them for assistance.
- The initial step is to create an account on this here website,
- and submit an instance request. It will ask for everything we need to know first, and tell you how to set up your DNS when you're ready to do that.
- Stop your instance, wherever it is currently hosted, to avoid the whole can of worms that is having two clones of the same instance online at the same time. Data could be lost if the instance continues running after the backup snapshot is taken.
- Export a full backup of your instance and relay it to us. Specifically, we will need:
- the .env.production file or a list of your environment variables;
- the PostgreSQL database (as a compressed .sql file, or pgdump's own format)
- the attachments, either as access to a s3 bucket to transfer from, or the files directly in an archive.
- Update your DNS records as shown on your instance request. Steps 4 and 5 are both blocking and can take a long time that doesn't depend on you - we recommend starting both in parallel as soon as possible.
- When both the DNS records are updated and we have the full backup, we will restore the instance and start it back up. You should receive an email at that point. Your instance might take a few hours to catch up on all the activities it missed during the downtime.
The archive can be a zip, tar with gzip/bzip/xz/zstd, or 7z. It may be password protected, or encrypted with PGP or age. You can send us a link to download it from your current host, or upload it to any secure file transfer service. As long as we can download it.
- Switching from the latest release of mastodon to a fork is usually possible.
- It is possible for us to restore an archive without cached attachments but many of those will stay missing. Mastodon currently does not refresh those files and cannot easily be asked to.
- If you want to keep the downtime to a minimum, you can schedule a date in advance for the migration, and we can arrange a more progressive transfer of the attachments (usually the largest amount of data, and most time to transfer)
- If you are not using PostgreSQL : we will attempt to convert your database as well as possible. This is a pretty slow, unreliable, and artisanal, operation that will results in a database that might have incompatibilities - most would not even try but it might just work out well.
Example commands for self-hosted Mastodon instances
# stop the instance
systemctl stop mastodon-web.service mastodon-sidekiq.service mastodon-streaming.service
# export database
sudo -u postgres pg_dump mastodon | xz > database.sql.xz
# build an archive with those files
tar -cvf my-instance.tar .env.production database.sql.xz system/public/
# clean up temporary files
Exporting your instance on FédiMon
From your instance management page, go to Tasks, select Request an Export Archive, and click Submit.
The operation will take a while (between a few seconds to a few hours). Once completed, the page will update to show you a link to the archive and its total size.
You can optionally set a PGP key under Settings to get your backup encrypted while shared.
The archive will contain:
- your environment variables in a text file,
- a full copy of your database
Please note that the backup will not contain attachments as they would quickly be the biggest part; we plan on including credentials for read-only access to your current S3 bucket soon, but in the meantime please ask us to create you a full backup if you need attachments in addition to the rest.