Here is a fun little article I like to call “Akkoma for Dummies”. In a totally authentic-to-me fashion, this is mostly being written so I can retrace my steps down the line if needed. So yes, I am the dummy here. If this helps you, that is just an added bonus. This should prove to be the easy way to set up a federated social networking alternative to Mastodon.
What is Akkoma? Akkoma is a social network back end forked from Pleroma, that implements a form of federated networking called ActivityPub (a W3 standard). If that made no sense, you can think of it as a lightweight replacement for Mastodon. If you are also unsure of what Mastodon is, think of it as an open source version of Twitter.
Why Akkoma? After playing with Mastodon, I was unimpressed with it’s performance – and that was on a one user instance. I can’t imagine the existential dread server admins face with a larger user base. Anyway, this made me look for alternatives, one of which was Pleroma. And right as I was about to start playing with that, someone told me about a fork of the Pleroma software which was supposedly being developed more rapidly and frequently, called Akkoma. I was interested.
How? The way I got my test instance up was through Yunohost. There is a great, unofficial Yunohost app that deploys Akkoma automatically. This is not supported by both Yunohost and by the Akkoma documentation, but it works.
Generally, the steps are as followed:
- Deploy some kind of cloud instance or server with minimal specs (I went with 50GB storage, 2 vCPU, and 2GB RAM)
- Install Yunohost from an image or convert a Debian 11 image to Yunohost per the install instructions.
- Configure Yunohost with a domain name, and create a new user.
- Install Akkoma using the GitHub repo, as an unofficial app (this means it won’t be able to receive automatic updates from Yunohost).
Where? I think any cloud service provider will do. I chose DigitalOcean for no reason other than I was hosting my Mastodon instance there initially, and it seems less overwhelming than AWS for the dummy writing this article. (Note – the DigitalOcean link is a referral link for my account. If you sign up using that link, you and I both get free credits which really help me continue to host my instance.)
1) Setup a Server: This is outside the scope of this article. Frankly, any old machine you have will do if it has more than a few GB of RAM and storage available. Alternately, you can use DigitalOcean or AWS or another cloud service provider to spin up a VPS. There is no magic to it, just get it powered up one way or another. I chose a server with 2 vCPUs, and 2GB RAM.
2) Install Yunohost: I should be very clear that this step is optional. Yunohost simplifies the server administration steps which is appealing to a dummy like myself. I’m sure there is a tradeoff such as performance and attack surface, but it was a tradeoff I was willing to make. This part is pretty straightforward if you just follow the Yunohost install guide.
A note to my fellow DigitalOcean users – I found it easier to spin up a fresh Debian 11 machine and follow the Yunohost instructions on installing from command line. However, if you are running it on an old PC at home, using the pre-packaged image might be easier for you.
3) Configure Yunohost. Again, if you are following the Yunohost install guide, this is all straightforward. There isn’t a ton to elaborate on for this step, and getting into the weeds here would be outside the scope of what i’m trying to achieve with the article. You will end up setting up a domain name as well as a user during this step.
4) Install Akkoma via Yunohost: As of the time of writing, Akkoma isn’t reflected as an ‘official’ app bundled with Yunohost by default. Luckily, it’s very easy to add an ‘unofficial’ app via the web interface in Yunohost. All you’ll need to do is navigate to the applications page in Yunohost, click the green “Install” button in the top right corner of the page, and plug in the URL of the github repo in the custom app form at the bottom of the next page: https://github.com/YunoHost-Apps/akkoma_ynh
The system will prompt you with a few questions needed for configuration. Take care to get most of it right – some of it is editable later from within Akkoma, but some of it isn’t easily accessible unless you are comfortable digging through config files. Set a strong password – I used a password of 20+ length with upper and lowercase letters, numbers, and special characters.
The system will do a little song and dance as it installs your instance. Once it gives you the thumbs up that everything was installed correctly, navigate to the domain name you set up in the previous step and you should be greeted with the default Akkoma front-end. Congratulations. You should be able to log in using the username/password you set up in step 3.
What’s next? In part two, I’ll explain some tips and tricks of administrating the Akkoma server. There were lessons learned which could prove useful.