0% found this document useful (0 votes)
791 views3 pages

Egg Python Generic - Json

This document describes a generic Python egg for Pterodactyl, detailing its configuration and installation scripts. It supports multiple Python versions and includes environment variables for user customization. The document also specifies the startup commands and requirements for setting up a Python application using Git repositories.

Uploaded by

titanplayz89
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
791 views3 pages

Egg Python Generic - Json

This document describes a generic Python egg for Pterodactyl, detailing its configuration and installation scripts. It supports multiple Python versions and includes environment variables for user customization. The document also specifies the startup commands and requirements for setting up a Python application using Git repositories.

Uploaded by

titanplayz89
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

{

"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL -


PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:11:47+02:00",
"name": "python generic",
"author": "[email protected]",
"description": "A Generic Python Egg for Pterodactyl\r\n\r\nTested with:
https:\/\/github.com\/Ispira\/pixel-bot",
"features": null,
"docker_images": {
"Python 3.12": "ghcr.io\/parkervcp\/yolks:python_3.12",
"Python 3.11": "ghcr.io\/parkervcp\/yolks:python_3.11",
"Python 3.10": "ghcr.io\/parkervcp\/yolks:python_3.10",
"Python 3.9": "ghcr.io\/parkervcp\/yolks:python_3.9",
"Python 3.8": "ghcr.io\/parkervcp\/yolks:python_3.8",
"Python 3.7": "ghcr.io\/parkervcp\/yolks:python_3.7",
"Python 2.7": "ghcr.io\/parkervcp\/yolks:python_2.7"
},
"file_denylist": [],
"startup": "if [[ -d .git ]] && [[ \"{{AUTO_UPDATE}}\" == \"1\" ]]; then git
pull; fi; if [[ ! -z \"{{PY_PACKAGES}}\" ]]; then pip install -U --prefix .local
{{PY_PACKAGES}}; fi; if [[ -f \/home\/container\/${REQUIREMENTS_FILE} ]]; then pip
install -U --prefix .local -r ${REQUIREMENTS_FILE}; fi;
\/usr\/local\/bin\/python \/home\/container\/{{PY_FILE}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Python App Installation Script\r\n#\r\n#
Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip
make gcc g++ libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif
[ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n
echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\
r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} !
= *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"$
{USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api
call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e
${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git python repo\r\nif [ \"$
(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not
empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\
r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from
git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n
else\r\n echo -e \"files found with no git config\"\r\n echo
-e \"closing out without touching things to not break anything\"\r\n
exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\"
]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n
fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n
if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n
git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\
n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\
n\r\nfi\r\n\r\nexport HOME=\/mnt\/server\r\n\r\necho \"Installing python
requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install
-U --prefix .local ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f
\/mnt\/server\/requirements.txt ]; then\r\n pip install -U --prefix .local -r $
{REQUIREMENTS_FILE}\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "python:3.8-slim-bookworm",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Git Repo Address",
"description": "Git repo to clone\r\n\r\nI.E.
https:\/\/github.com\/parkervcp\/repo_name",
"env_variable": "GIT_ADDRESS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Git Branch",
"description": "What branch to pull from github.\r\n\r\nDefault is
blank to pull the repo default branch",
"env_variable": "BRANCH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"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": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "Pull the latest files on startup when using a GitHub
repo.",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "App py file",
"description": "The file that starts the App.",
"env_variable": "PY_FILE",
"default_value": "app.py",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Additional Python packages",
"description": "Install additional python packages.\r\n\r\nUse spaces
to separate",
"env_variable": "PY_PACKAGES",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Git Username",
"description": "Username to auth with git.",
"env_variable": "USERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Git Access Token",
"description": "Password to use with git.\r\n\r\nIt's best practice to
use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\
nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
"env_variable": "ACCESS_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Requirements file",
"description": "if there are other requirements files to choose from.",
"env_variable": "REQUIREMENTS_FILE",
"default_value": "requirements.txt",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}

You might also like