Migrating Pleroma to Akkoma with Docker

💡
Outdated content, links might not work and the guide might be inaccurate.

My Pleroma, now Akkoma, instance relies heavily on sn0w's pleroma-docker repo, as you know in my previous post, since i personally preferred for applications to be dockerised for easy management.

But then, last month, i read something in my timeline, there is a new fork of Pleroma named Akkoma. Interesting!

It's never that easy in migrating your instance, so i asked @[email protected] again for help! Thankfully they are willing to help me quite a bit! I have outlined the steps here for my future reference, and might be of some help for others.

The Steps

First of all, backup your configuration and database. You'll never know what mistakes you are going to make (i have certainly made some embarassing mistakes).

Current Akkoma doesn't include any frontends by default, including the Admin-FE. So i'm going to edit my docker-compose.yml file to mount the frontends folder to host.

Add this under volumes:

$DOCKER_DATADIR/frontends:/home/pleroma/pleroma/instance/static/frontends

And edit the config.exs mount from :ro to :rw for both occassions.

After this, you need to edit the .env file on two lines:

PLEROMA_VERSION=stable-2022.07
.
.
.
.
PLEROMA_GIT_REPO=https://akkoma.dev/AkkomaGang/akkoma.git

stable-2022.07 is as-of-now the most recent release of Akkoma, which should be changed should newer versions got released, or you can use stable if you prefer. The repo referred to the new Akkoma official repo.

Then you can run ./pleroma.sh build and wait a bit.

When you are done, you should run ./pleroma.sh down and ./pleroma.sh up to use the newly built image.

Congratulation, you have migrated to Akkoma! But wait, there is no frontends?

Installing Frontends

Thankfully, we can install a frontend by our own. This official guide comprehensively explains the technical details.

But for those lazy one, and assuming you want your default Pleroma frontend along with your admin frontend back, you should run this command

./pleroma.sh mix pleroma.frontend install pleroma-fe
./pleroma.sh mix pleroma.frontend install admin-fe

You should check your frontends folder, there would be your frontends folder inside it, named respectively.

Done? Not quite.

You should edit your config.exs file, and add this line anywhere:

# Configure Akkoma Frontends
config :pleroma, :frontends,
  primary: %{
    "name" => "pleroma-fe",
    "ref" => "stable"
  },
  admin: %{
    "name" => "admin-fe",
    "ref" => "stable"
  }

This ensures that Akkoma knows your frontends preference. Run ./pleroma.sh restart to apply changes, and you are dandy!

You can check your current running version of Akkoma by visiting this address on your instance:

https://$YOUR_INSTANCE_ADDRESS/nodeinfo/2.0.json

The Impression

The migration went smoother than expected, so much that i feared i have messed everything up. Turns out that's not the case.

On the surface, Akkoma differs little from Pleroma, but there are definitely some QoL improvements. One thing that stucks is the fact that you can install another frontend from your Admin-FE. Haven't tried that, but it's a nice addition.

The fact that development seems to be active is good indication that it is not abandoned. There are even a feature to-do list!

Overall, i'm thankful for sn0w's responsive help in guiding me and the docker templates, and for the whole Akkoma dev teams for this superb software!