Skip to content

Muse

馃帶 a self-hosted midwestern Discord music bot that doesn't suck

egg-muse.json

updated

Install

Installer image
node:lts-bookworm-slim
Install script
41 lines

Image

  • Node.js 20 ghcr.io/ptero-eggs/yolks:nodejs_20

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

6 variables

Startup command

npm start
  • Discord Bot Token

    discord_tokenUsers can edit

    required|stringA value is required.

  • Default: ./data

    data_dirUsers can edit

    required|string|max:20

  • You can get it here: https://console.developers.google.com/

    api_keyUsers can edit

    required|stringA value is required.

  • You can get it here: https://developer.spotify.com/dashboard/applications

    client_idUsers can edit

    required|stringA value is required.

  • You can get it here: https://developer.spotify.com/dashboard/applications

    client_secretUsers can edit

    required|stringA value is required.

  • Specify a version, for example: "v2.4.1" For the latest version, type "latest"

    VERSIONUsers can edit

    required|string

Wings

Stop command
^C (SIGINT)
Running when the console shows
Running version

Files Wings edits

Wings sets these values in these files before each start.

.env file

DISCORD_TOKEN
DISCORD_TOKEN={{env.discord_token}}
DATA_DIR
DATA_DIR={{env.data_dir}}
YOUTUBE_API_KEY
YOUTUBE_API_KEY={{env.api_key}}
SPOTIFY_CLIENT_ID
SPOTIFY_CLIENT_ID={{env.client_id}}
SPOTIFY_CLIENT_SECRET
SPOTIFY_CLIENT_SECRET={{env.client_secret}}

Readme

Muse

Authors / Contributors

Their Github

Muse is a highly-opinionated midwestern self-hosted Discord music bot that doesn't suck.

Server Ports

There are no ports required for the Muse bot

Changes

  1. Muse: Update install source repo

    路 Daniel Barton 路 e2734ca

  2. Import chatbots

    路 Daniel Barton 路 f917e8a

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 41 lines bash in node:lts-bookworm-slim Show
## 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="museofficial/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!"