Skip to main content

Installing Akkoma

Do NOT follow this portion of the guide at this time. Elixir does not appear to be readily available from repositories, and there are limits with RHEL-based distros that were not realized until getting to this step. This will be re-written in a different operating system.

This page makes the following assumptions:

  • You have a running VPS, prepared according to the instructions in Preparing Your VPS.
  • You have a domain name that's pointed to your VPS.

If either of these aren't true, please read through the last three pages.

We're now going to download, install, and configure Akkoma, as well as some dependencies and a few other services we'll need to make this work: specifically, Caddy and PostgreSQL.

PostgreSQL is used to store information, such as account details, user posts, and the like. Caddy is something called a "reverse proxy" - think of it like opening a portal from the outside world into a specific application within your VPS. Caddy also does some other heavy lifting for us, such as getting SSL certificates (which allow folks and other servers to securely connect to your instance).

This guide is written based off, and uses a lot of the same commands, as the upstream documentation: Installing on Fedora (It says Fedora, but Fedora and Rocky Linux are effectively both the same type of distro - RHEL, or Red Hat Enterprise Linux-based.)

Installing Dependencies

We've got a litany of applications we'll need to install in order to be able to install Akkoma. Let's go through that.

First, enable a few repositories that host a few things we'll need:

sudo /usr/bin/crb enable
sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm

and now let's install all the stuff we need!

sudo yum update -y
sudo yum install -y git gcc g++ make cmake file-devel postgresql-server postgresql-contrib elixir erlang-os_mon erlang-eldap erlang-xmerl erlang-erl_interface erlang-syntax_tools ffmpeg ImageMagick perl-Image-ExifTool