Muse is a highly-opinionated midwestern self-hosted Discord music bot that doesn't suck.
There are no ports required for the Muse bot
Name | Tag |
---|---|
ghcr.io/ptero-eggs/yolks:nodejs_20 | ghcr.io/ptero-eggs/yolks:nodejs_20 |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
TOKEN | Discord Bot Token | discord_token | Yes | Yes | |
Data directory | Default: ./data | data_dir | ./data | Yes | Yes |
YouTube API Key | You can get it here: https://console.developers.google.com/ | api_key | Yes | Yes | |
Spotify Client ID | You can get it here: https://developer.spotify.com/dashboard/applications | client_id | Yes | Yes | |
Spotify Client Secret | You can get it here: https://developer.spotify.com/dashboard/applications | client_secret | Yes | Yes | |
Version | Specify a version, for example: "v2.4.1" For the latest version, type "latest" | VERSION | latest | Yes | Yes |
## Credits: Red-Thirten (https://github.com/lilkingjr1) for providing most of the installation script
apt-get update
apt-get install git curl jq -y python3 python3-pip make build-essential -qq
GITHUB_PACKAGE="codetheweb/muse"
# Find GitHub download URL for Muse for specified version
LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tarball_url')
else
echo -e "Could not find version \"${VERSION}\" of Muse. Defaulting to latest release..."
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')
fi
fi
# Download Muse from GitHub & Extract
cd /mnt/server
echo -e "Downloading Muse from GitHub..."
curl -L ${DOWNLOAD_URL} -o muse.tar.gz
echo -e "Extracting Muse from tarball..."
tar -xvzf muse.tar.gz --strip-components=1
rm muse.tar.gz
# Verify and clean up Muse installation
if [ ! -f .env.example ]; then
echo -e "\nFailed to download release: ${DOWNLOAD_URL}\n"
exit 1
fi
cp .env.example .env
rm -rf .dockerignore Dockerfile .gitignore .github/
yarn install --prod #--frozen-lockfile
#sed -i 's/of filterWrapper[)]/of filterWrapper|| [])/g' /mnt/server/node_modules/ytsr/lib/utils.js
echo -e "\nMuse Successfully Installed!"