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).

We are doing this install with the OTP release. This is a simpler way to go about installing Akkoma, as you don't need to install as many dependencies independently. If you'd like to install from source, you may want to instead refer to the upstream documents: Installing on Debian Based Distributions

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 areusing effectivelyOTP both the same type of distro - RHEL, or Red Hat Enterprise Linux-based.)releases

Installing Dependencies

We'veWe gothave a litanyfew ofthings applications we'llwe need to install in- ordernamely, toPostgreSQL, beCaddy, able to install Akkoma. Let's go through that.

First, enableand a few repositoriesdependencies thatneeded hostto arun fewAkkoma thingsand we'llsome need:
of its features:

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 yumapt install -y gitcurl gccunzip g++libncurses6 make cmake file-devel postgresql-serverpostgresql postgresql-contrib elixircaddy erlang-os_monlibmagic-dev erlang-eldap erlang-xmerl erlang-erl_interface erlang-syntax_toolsimagemagick ffmpeg ImageMagick perl-Image-ExifToollibimage-exiftool-perl

Note that we're installing libncurses6 instead of libncurses5. libncurses5 was considered obsolete and removed. While I'm in the process of writing this document, I cannot guarantee that this substitution will work alright, but I feel like it should be.