Installation on CentOS Stream is supported on versions 9 and 10.
Other RHEL or CentOS-like distros may also work with these steps, but you may need to adjust or add commands.
CentOS Stream 10
The following steps will minimally set up MusicBot.
# Install extra repos, needed for ffmpeg.
sudo dnf config-manager --set-enabled crb
sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-10.noarch.rpm
# Install available packages.
sudo yum -y install opus-devel libffi-devel git curl jq ffmpeg python3 python3-pip python3-devel unzip
# Install deno JS runtime needed for yt-dlp.
curl -fsSL https://deno.land/install.sh | sh
# NOTE: Restart your user session or terminal to ensure PATH updates are loaded.
# Clone the MusicBot
git clone https://github.com/Just-Some-Bots/MusicBot.git MusicBot -b dev
cd MusicBot
# Install bot requirements
python3 -m pip install -U -r requirements.txt
Once everything has been completed, you can go ahead and configure the bot and then run the bot with the ./run.sh script.
CentOS Stream 9
These steps should get everything set up on CentOS Stream 9.
# Add extra repositories to system package manager, needed for ffmpeg.
sudo dnf config-manager --set-enabled crb
sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel{,-next}-release-latest-9.noarch.rpm
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
# Install dependency packages.
sudo yum -y install opus-devel libffi-devel git curl jq ffmpeg unzip \
yum-utils make gcc openssl-devel bzip2-devel libffi-devel zlib-devel
# Download and build Python 3.10
curl https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tar.xz -o "Python-3.10.14.tar.xz"
# Extract the downloaded archive and change into it.
tar -xf Python-3.10.14.tar.xz
cd Python-3.10.14
# Configure Python 3.10.14 build options.
./configure --enable-optimizations
# Compile the source code.
# Note: add `-j N` where N is the number of CPU cores, for faster builds.
make
# Install Python to the system using alternate install location to avoid conflicts with older system python
sudo make altinstall
# Leave the source directory
cd ..
# Install deno JS runtime needed for yt-dlp.
curl -fsSL https://deno.land/install.sh | sh
# NOTE: Restart your user session or terminal to ensure PATH updates are loaded.
# Clone the MusicBot
git clone https://github.com/Just-Some-Bots/MusicBot.git MusicBot -b dev
cd MusicBot
# Install bot requirements
python3 -m pip install -U -r requirements.txt
Next configure the bot and then run the bot with the ./run.sh script.