-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
178 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
{ | ||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", | ||
"meta": { | ||
"version": "PTDL_v2", | ||
"update_url": null | ||
}, | ||
"exported_at": "2024-08-12T12:36:24+00:00", | ||
"name": "PR3SIDENT Reddit Bot", | ||
"author": "[email protected]", | ||
"uuid": "cbd15054-262b-4183-82e9-462c3894175b", | ||
"description": "Egg for https:\/\/github.com\/PR3SIDENT\/reddit-bot\nBasend on parker python generic", | ||
"features": [], | ||
"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" | ||
}, | ||
"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\nmkdir -p $HOME\/data\r\n\r\necho -e \"install complete\"\r\nexit 0", | ||
"container": "python:3.11-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": "https:\/\/github.com\/PR3SIDENT\/reddit-bot", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|url", | ||
"sort": 1, | ||
"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": "main", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 2, | ||
"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", | ||
"sort": 3, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "App py file", | ||
"description": "The file that starts the App.", | ||
"env_variable": "PY_FILE", | ||
"default_value": "bot.py", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "required|string", | ||
"sort": 4, | ||
"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", | ||
"sort": 5, | ||
"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", | ||
"sort": 6, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Reddit application client ID", | ||
"description": "Reddit application client ID", | ||
"env_variable": "CLIENT_ID", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 7, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Reddit application client secret", | ||
"description": "", | ||
"env_variable": "CLIENT_SECRET", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 8, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Bots Reddit username", | ||
"description": "", | ||
"env_variable": "BOTS_REDDIT_USERNAME", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 9, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Bots Reddit password", | ||
"description": "", | ||
"env_variable": "BOTS_REDDIT_PASSWORD", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 10, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "List of Reddit usernames that will have their posts stickied.", | ||
"description": "Format: [\"Username1\", \"Username2\"]", | ||
"env_variable": "WHITELIST", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 11, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Subreddit to watch for posts. ", | ||
"description": "Do not include the r\/", | ||
"env_variable": "SUBREDDIT", | ||
"default_value": "", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 12, | ||
"field_type": "text" | ||
}, | ||
{ | ||
"name": "Optional: Discord logging Webhook URL", | ||
"description": "", | ||
"env_variable": "DISCORD_WEBHOOK_URL", | ||
"default_value": "DISCORD_WEBHOOK_URL", | ||
"user_viewable": true, | ||
"user_editable": true, | ||
"rules": "nullable|string", | ||
"sort": 13, | ||
"field_type": "text" | ||
} | ||
] | ||
} |