Migrating from Mastodon to Pleroma

Mastodon bad. Pleroma good.

If you’ve been following me on the fediverse, you would’ve witnessed my numerous (failed) attempts at migrating from Mastodon to Pleroma, running on my Raspberry Pi. I finally got it working, and these are the steps I took. It’s sort of a loose guide you could follow, but I can’t promise it’ll work for you.

The Erlang and Elixir packages are pretty broken and outdated on Raspbian. So this time, I built them from source.12 I also assume you have Mastodon and Pleroma (source, not OTP) installed—probably at /home/mastodon/live and /opt/pleroma, respectively.

Once you have Erlang and Elixir compiled and sitting in your PATH, pull soapbox-pub/migrator. Now read the readme and the do_migration.sh script to get an idea of what you’re getting into.

Move into the cloned directory and create a .env:


Then, run:

$ yarn   # install deps
$ cp -r mastodon/* /home/mastodon/live
$ cp -r pleroma/* /opt/pleroma
$ RAILS_ENV=production yarn masto export

If you run into any permissions issues, chown and proceed. This should export all your Mastodon activity into /home/mastodon/live/migrator. Now, copy the migrator directory into your Pleroma installation path.

$ cp -r migrator /opt/pleroma

You can then import all of it into Pleroma (possibly prefixed with sudo -Hu pleroma):

$ MIX_ENV=prod mix migrator.import

If all went well, you would’ve successfully migrated from Mastodon to Pleroma. If not, well feel free to send me an email (or @ me on the fedi). I suppose you could also reach Alex—he’s the incredibly based guy who wrote the migrator, soapbox-fe and does some Elixir magic he keeps posting about.

Rest assured, the migrator has a 100% success rate—Alex and I are apparently the only two who have it working. 22.

why should you migrate?

Because Pleroma is cleaner, leaner3 and prettier looking4. Oh, and we have chats. screenshot of pleroma + soapbox-fe

  1. Erlang install guide ↩︎
  2. Elixir install guide ↩︎
  3. Mastodon used about ~2.5 GB out of the 4 I have on my Pi. With Pleroma, the total used RAM is only about ~700 MB. That’s crazy!

  4. …with Soapbox. :^) ↩︎

Questions or comments? Send an email.