Deploy Modmail on a macOS machine. (Tested with Apple Silicon M2)


  1. Minimum 2GB of RAM

  2. At least 2GB available disk space.

  3. Supported macOS version:

    • MacOS 14 Sonoma (Tested)

    • MacOS 11 Monterey (Tested)


We will be using the following dependencies:

  • Python 3.10

  • Tools: git, homebrew, bash or zsh

  • Additional Modmail requirements: cairo, libxml2, libxslt, libffi

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

To install these dependencies, we will be using Terminal (zsh or bash):

brew install python3 cairo libxml2 libxslt libffi
pip3 install cairosvg

After that, install pipenv with:

python3.10 -m pip install pipenv

Installing Bot

Clone and change directory into the Modmail folder with:

git clone
cd modmail

Inside the Modmail folder, install pipenv and its Python packages with:

python3.10 -m pipenv install --python 3.10

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.

cp .env.example .env
nano .env

After that, exit the nano editor with Ctrl+X and select or enter y when prompted to save. Press enter to maintain the exiting name of the document.

If using the nano editor is a bit of a learning curve, you can edit the .env file manually with your preferred GUI-based editor like TextEdit.

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

python3.10 -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