Skip to main content

Requirements

This page covers everything you need to install before setting up MJ Bot.

System Requirements

ResourceMinimumRecommended
RAM2 GB4 GB
CPU1 vCPU2 vCPU
Storage10 GB20 GB
OSUbuntu 20.04+ / Debian 11+Ubuntu 22.04 LTS
info

MJ Bot runs on Linux. While it can work on Windows or macOS for development, a Linux VPS is strongly recommended for production.

Software Dependencies

Node.js 20+

Install Node.js using nvm (recommended):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20
nvm use 20

Verify the installation:

node -v
npm -v

Git

sudo apt update
sudo apt install git -y

pm2

pm2 is used to keep the bot, dashboard, and Lavalink running as background processes:

npm install -g pm2

Database

MJ Bot uses Prisma ORM and supports both PostgreSQL and MySQL. PostgreSQL is recommended.

  • PostgreSQL 14+ (recommended)
  • MySQL 8+ (alternative)

See the Database Setup page for installation instructions.

Optional Dependencies

DependencyPurpose
Domain nameRequired for the public dashboard with HTTPS
Lavalink serverRequired for music playback features
RedisOptional caching layer for improved performance
Java 17+Required only if running Lavalink on the same server
tip

If you do not need music features, you can skip Lavalink and Java entirely. All other features will work without them.