92 lines
No EOL
6.4 KiB
JSON
92 lines
No EOL
6.4 KiB
JSON
{
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
"meta": {
|
|
"version": "PTDL_v2",
|
|
"update_url": null
|
|
},
|
|
"exported_at": "2025-06-25T15:25:55-07:00",
|
|
"name": "Muse",
|
|
"author": "red_thirten@yahoo.com",
|
|
"description": "Muse is a self-hosted Discord music bot that is made for small to medium-sized Discord servers\/guilds.",
|
|
"features": null,
|
|
"docker_images": {
|
|
"ghcr.io\/parkervcp\/yolks:nodejs_22": "ghcr.io\/parkervcp\/yolks:nodejs_22"
|
|
},
|
|
"file_denylist": [],
|
|
"startup": "yarn start",
|
|
"config": {
|
|
"files": "{\r\n \".env\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"DISCORD_TOKEN\": \"DISCORD_TOKEN={{server.build.env.BOT_TOKEN}}\",\r\n \"YOUTUBE_API_KEY\": \"YOUTUBE_API_KEY={{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"SPOTIFY_CLIENT_ID\": \"SPOTIFY_CLIENT_ID= {{server.build.env.SPOTIFY_CLIENT_ID}}\",\r\n \"SPOTIFY_CLIENT_SECRET\": \"SPOTIFY_CLIENT_ID= {{server.build.env.SPOTIFY_CLIENT_SECRET}}\"\r\n }\r\n }\r\n}",
|
|
"startup": "{\r\n \"done\": \"Ready!\"\r\n}",
|
|
"logs": "{}",
|
|
"stop": "^C"
|
|
},
|
|
"scripts": {
|
|
"installation": {
|
|
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Muse Egg - egg-muse.json\r\n## Authors: David Wolfe (Red-Thirten), TubaApollo, parkervcp\r\n## Date: 2025\/06\/25\r\n## License: MIT License\r\n\r\nGITHUB_PACKAGE=\"museofficial\/muse\"\r\n\r\napt update\r\napt install -y tar curl jq python3 build-essential\r\n\r\n## Muse Install\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\ncd \/mnt\/server\r\necho -e \"\\nInstalling\/Updating Muse...\\n\"\r\n\r\n# Remove all existing files\/folders, except `data` folder\r\nfind . -mindepth 1 -depth ! -path '.\/data' ! -path '.\/data\/*' -exec rm -rf {} +\r\n\r\n# Get download URL\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r .tarball_url)\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tarball_url')\r\n else\r\n echo -e \"Defaulting to latest release...\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r .tarball_url)\r\n fi\r\nfi\r\n\r\n# Download tarball & check for success\r\necho -e \"Downloading ${VERSION} from ${DOWNLOAD_URL}...\"\r\ncurl -Lo muse-${VERSION}.tar.gz ${DOWNLOAD_URL}\r\nif [[ ! -f muse-${VERSION}.tar.gz ]]; then\r\n echo -e \"\\n\\nFailed to download ${VERSION} version of Muse!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nfi\r\n\r\n# Extract & delete tarball\r\necho -e \"Extracting muse-${VERSION}.tar.gz...\"\r\ntar -xzvf muse-${VERSION}.tar.gz --strip-components=1\r\nrm muse-${VERSION}.tar.gz\r\n\r\n# Install dependencies & clean up\r\necho -e \"Installing dependencies...\"\r\nyarn install --prod || exit 1\r\ncp .env.example .env\r\necho -e \"Removing unneeded files...\"\r\nrm -rf .dockerignore Dockerfile .gitignore .github\/ RELEASING.md\r\n\r\necho -e \"\\nMuse successfully installed!\"",
|
|
"container": "node:lts-bookworm-slim",
|
|
"entrypoint": "\/bin\/bash"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "Discord Bot Token",
|
|
"description": "The token for your Discord bot. Learn how to obtain a token and configure your bot application properly here: https:\/\/jmusicbot.com\/getting-a-bot-token\/",
|
|
"env_variable": "DISCORD_TOKEN",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "YouTube API Key",
|
|
"description": "Can be acquired by creating a new project in Google's Developer Console (https:\/\/console.developers.google.com\/), enabling the YouTube API, and creating an API key under credentials.",
|
|
"env_variable": "YOUTUBE_API_KEY",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Spotify Client ID",
|
|
"description": "Can be acquired at https:\/\/developer.spotify.com\/dashboard\/applications with 'Create a Client ID'.",
|
|
"env_variable": "SPOTIFY_CLIENT_ID",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Spotify Client Secret",
|
|
"description": "Can be acquired at https:\/\/developer.spotify.com\/dashboard\/applications with 'Create a Client ID'.",
|
|
"env_variable": "SPOTIFY_CLIENT_SECRET",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "[Advanced] Release Version Tag",
|
|
"description": "Which release (based on tag) to download from https:\/\/github.com\/museofficial\/muse\/releases. To download the latest release version, \"latest\" can be used.",
|
|
"env_variable": "VERSION",
|
|
"default_value": "latest",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "[System] Force Headless Environment",
|
|
"description": "This should not be changed. It is used by the Egg to tell Ora (a dependency of Muse) that it is running in a Continuous Integration-like environment (ie. headless), which disables loading spinners that break the console output.",
|
|
"env_variable": "CI",
|
|
"default_value": "true",
|
|
"user_viewable": false,
|
|
"user_editable": false,
|
|
"rules": "required|string|in:true",
|
|
"field_type": "text"
|
|
}
|
|
]
|
|
} |