Alma Linux

Deploy Modmail on RHEL / Alma Linux / CentOS server.

For safety reasons, DO NOT install Modmail with a root user. A misbehaving or malicious plugin installed on your Modmail bot can easily access your entire system. If you are unsure how to create a new user on Linux, see DigitalOcean’s tutorial: How To Create a New Sudo-enabled User.

Alma Linux 8, 9 and CentOS Stream 8, 9 are based on Red Hat Enterprise Linux (RHEL) 8 and 9 respectively so you can essentially follow this guide if you're running any of the OS mentioned above.


  1. Root access (sudo).

  2. Minimum 1GB of RAM

  3. At least 2GB available disk space.

  4. Supported releases:

    • Alma Linux 9

    • Alma Linux 8

    • CentOS Stream 9

    • CentOS Stream 8

    • Red Hat Enterprise Linux (RHEL) 9

    • Red Hat Enterprise Linux (RHEL) 8


  • Python 3.9

  • Tools: git, nano

All code blocks should be executed in bash and line by line unless specified otherwise.

RHEL 9 / Alma Linux 9 / CentOS Stream 9

RHEL 9 and its derivatives have all required packages available in official repositories. Install them with dnf:

sudo dnf -y install python39 git @development nano

RHEL 8 / Alma Linux 8 / CentOS Stream 8.4-8.x

RHEL 8 and its derivatives have all required packages available in official repositories. Install them with dnf:

sudo dnf -y update
sudo dnf -y group install development
sudo dnf -y install python39 python39-pip python39-devel nano git

Installing Bot

Clone and change directory into the Modmail folder with:

git clone
cd modmail

Inside the Modmail folder, ensure pip is installed correctly and is defaulting to Python 3.9 with:

python3.9 -m ensurepip --upgrade

And then, install pipenv and the bot dependencies with:

python3.9 -m pip install pipenv
python3.9 -m pipenv install --python 3.9

Create a file named .env with nano and paste all the environmental variables (secrets) needed to run the bot via right-clicking in the nano editor. Refer to the steps in the parent Installation page to find where to obtain these.

nano .env

After that, press Ctrl+O and Enter to save your changes. Exit the nano editor with Ctrl+X.

If using the nano editor is a bit of a learning curve, you can always FTP into your server using software like WinSCP to edit the .env file manually with your preferred GUI-based editor like Notepad.

After your .env file is ready, you can now go ahead and try running your bot with:

python3.9 -m pipenv run bot

If no error shows up, it means your bot is now running correctly. You can stop the bot from running with Ctrl+C to continue using your terminal.

Last updated