Last active
January 25, 2021 19:54
-
-
Save theoparis/9aeabdde3a1135255879869f4e5ec2f6 to your computer and use it in GitHub Desktop.
pterodactyl node.js egg (node 14)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", | |
| "meta": { | |
| "version": "PTDL_v1" | |
| }, | |
| "exported_at": "2020-08-13T22:04:35-04:00", | |
| "name": "node.js generic", | |
| "author": "[email protected]", | |
| "description": "a generic node js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install with yarn. If you set user_upload then I assume you know what you are doing.", | |
| "image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-14", | |
| "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/yarn; fi; PORT={{SERVER_PORT}} yarn run {{BOT_START_CMD}}", | |
| "config": { | |
| "files": "{}", | |
| "startup": "{\r\n \"done\": \"change this part\"\r\n}", | |
| "logs": "{}", | |
| "stop": "^c" | |
| }, | |
| "scripts": { | |
| "installation": { | |
| "script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! \"${USERNAME}\" == \"\" ]]; then\r\n if [[ ! https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git | sed 's:\/*$::')\r\n INSTALL_REPO=\"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n \r\n if [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n \techo -e \"assuming user knows what they are doing have a good day.\"\r\n \texit 0\r\n else\r\n \tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n \t\techo -e \"\/mnt\/server directory is not empty.\"\r\n \t if [ -d .git ]; then\r\n \t\t\techo -e \".git directory exists\" \r\n \t\t\tif [ -f .git\/config ]; then\r\n \t\t\t\techo -e \"loading info from git config\"\r\n \t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n \t\t\telse\r\n \t\t\t\techo -e \"files found with no git config\"\r\n \t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n \t\t\t\texit 10\r\n \t\t\tfi\r\n \t\tfi\r\n \t\tif [ \"${ORIGIN}\" == \"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\" ]; then\r\n \t\t\techo \"pulling latest from github\"\r\n \t\t\tgit pull \r\n \t\tfi\r\n \telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n \t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n \t\t\techo -e \"assuming master branch\"\r\n \t\t\tINSTALL_BRANCH=master\r\n \t\tfi\r\n \r\n \t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .\r\n \tfi\r\n fi \r\nelse\r\n if [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n \r\n if [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n \techo -e \"assuming user knows what they are doing have a good day.\"\r\n \texit 0\r\n else\r\n \tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n \t\techo -e \"\/mnt\/server directory is not empty.\"\r\n \t if [ -d .git ]; then\r\n \t\t\techo -e \".git directory exists\" \r\n \t\t\tif [ -f .git\/config ]; then\r\n \t\t\t\techo -e \"loading info from git config\"\r\n \t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n \t\t\telse\r\n \t\t\t\techo -e \"files found with no git config\"\r\n \t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n \t\t\t\texit 10\r\n \t\t\tfi\r\n \t\tfi\r\n \t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n \t\t\techo \"pulling latest from github\"\r\n \t\t\tgit pull \r\n \t\tfi\r\n \telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n \t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n \t\t\techo -e \"assuming master branch\"\r\n \t\t\tINSTALL_BRANCH=master\r\n \t\tfi\r\n \r\n \t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n \tfi\r\n fi \r\nfi\r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0", | |
| "container": "node:14-buster-slim", | |
| "entrypoint": "bash" | |
| } | |
| }, | |
| "variables": [ | |
| { | |
| "name": "Install Repo", | |
| "description": "The GitHub repo to clone and install the discord js bot from.", | |
| "env_variable": "INSTALL_REPO", | |
| "default_value": "", | |
| "user_viewable": 1, | |
| "user_editable": 1, | |
| "rules": "nullable|string|max:128" | |
| }, | |
| { | |
| "name": "Username", | |
| "description": "The GitHub username. Leave this field blank if the GitHub repo is NOT a private repo.", | |
| "env_variable": "USERNAME", | |
| "default_value": "", | |
| "user_viewable": 1, | |
| "user_editable": 1, | |
| "rules": "nullable|string|max:128" | |
| }, | |
| { | |
| "name": "Password", | |
| "description": "The GitHub password. Leave this field blank if the GitHub repo is NOT a private repo.", | |
| "env_variable": "PASSWORD", | |
| "default_value": "", | |
| "user_viewable": 1, | |
| "user_editable": 1, | |
| "rules": "nullable|string|max:128" | |
| }, | |
| { | |
| "name": "Install Branch", | |
| "description": "The branch of the bot to install.", | |
| "env_variable": "INSTALL_BRANCH", | |
| "default_value": "", | |
| "user_viewable": 1, | |
| "user_editable": 1, | |
| "rules": "nullable|string|max:32" | |
| }, | |
| { | |
| "name": "User Uploaded Files", | |
| "description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true", | |
| "env_variable": "USER_UPLOAD", | |
| "default_value": "0", | |
| "user_viewable": 1, | |
| "user_editable": 1, | |
| "rules": "required|bool" | |
| }, | |
| { | |
| "name": "Auto Update", | |
| "description": "Pull the latest files on startup when using a GitHub repo.", | |
| "env_variable": "AUTO_UPDATE", | |
| "default_value": "0", | |
| "user_viewable": 1, | |
| "user_editable": 1, | |
| "rules": "required|boolean" | |
| }, | |
| { | |
| "name": "Bot yarn cmd", | |
| "description": "The file that starts the bot.", | |
| "env_variable": "BOT_START_CMD", | |
| "default_value": "start", | |
| "user_viewable": 1, | |
| "user_editable": 1, | |
| "rules": "required|string" | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment