Requirements
This page covers everything you need to install before setting up MJ Bot.
System Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 2 GB | 4 GB |
| CPU | 1 vCPU | 2 vCPU |
| Storage | 10 GB | 20 GB |
| OS | Ubuntu 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
| Dependency | Purpose |
|---|---|
| Domain name | Required for the public dashboard with HTTPS |
| Lavalink server | Required for music playback features |
| Redis | Optional 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.