all repos — site @ 9c0baf703690685ce0806cb16b0dd6d4a0d7493d

source for my site, found at icyphox.sh

Mastodon -> Pleroma post
Anirudh Oppiliappan x@icyphox.sh
Fri, 04 Sep 2020 12:33:44 +0530
commit

9c0baf703690685ce0806cb16b0dd6d4a0d7493d

parent

dbb1f67956cf68dca326e7ebccbcccfe70159388

5 files changed, 99 insertions(+), 3 deletions(-)

jump to
A bin/draft

@@ -0,0 +1,17 @@

+#!/bin/sh + +draft() { + mv "$1" drafts/ +} + +undraft() { + mv "$1" pages/blog/ +} + +post="$1" +if [ "$1" == "u" ]; then + post="$2" + undraft "$post" +else + draft "$post" +fi
M bin/sync.shbin/sync.sh

@@ -1,3 +1,3 @@

#!/bin/sh -rsync -avz build/* fern-remote:~/www/icy/site +rsync -avz build/* fern:~/www/icy/site
M config.pyconfig.py

@@ -20,9 +20,9 @@ <a href="https://github.com/icyphox">icyphox</a>

</p> <p> - <span class="sidebar-link">mastodon</span> + <span class="sidebar-link">fediverse</span> <br> - <a rel="me" href="https://toot.icyphox.sh/@x">@x@icyphox.sh</a> + <a rel="me" href="https://toot.icyphox.sh/@x">@x@toot.icyphox.sh</a> </p> <p>
A pages/blog/mastodon-to-pleroma.md

@@ -0,0 +1,74 @@

+--- +template: +url: mastodon-to-pleroma +title: Migrating from Mastodon to Pleroma +subtitle: Mastodon bad. Pleroma good. +date: 2020-09-04 +--- + +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.[^1][^2] 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](https://gitlab.com/soapbox-pub/migrator). + +Move into the cloned directory and create a `.env`: + +```shell +MASTODON_PATH=/home/mastodon/live +PLEROMA_PATH=/opt/pleroma +``` + +Then, run: + +```console +$ 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. + +```console +$ cp -r migrator /opt/pleroma +``` + +You can then import all of it into Pleroma (possibly prefixed with `sudo +-Hu pleroma`): +```console +$ 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](https://alexgleason.me) -- he's +the incredibly based guy who wrote the migrator, +[soapbox-fe](https://soapbox.pub) and does some Elixir magic he keeps +[posting about](https://gleasonator.com/@alex). + +Rest assured, the migrator has a 100% success rate -- Alex and I are +apparently the only two who have it working. 2/2. + +## why should you migrate? + +Because Pleroma is cleaner, leaner[^3] and prettier looking[^4]. Oh, and we +have chats. +![screenshot of pleroma + soapbox-fe](https://x.icyphox.sh/l8g5y.png) + +[^1]: [Erlang install guide](http://erlang.org/doc/installation_guide/INSTALL.html) +[^2]: [Elixir install guide](https://elixir-lang.org/install.html#compiling-from-source-unix-and-mingw) +[^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. :^) +
M templates/index.htmltemplates/index.html

@@ -32,6 +32,11 @@ <table>

<tbody> <tr> + <td align="left"><a href="/blog/mastodon-to-pleroma">Migrating from Mastodon to Pleroma</a></td> + <!--<td align="right">2020-09-04</td>--> + </tr> + + <tr> <td align="left"><a href="/blog/ducky-one-2">The Ducky One 2 SF</a></td> <!--<td align="right">2020-08-22</td>--> </tr>