From e8456c09f1f4f3ecfc156dacbdce5ce33f2762ff Mon Sep 17 00:00:00 2001 From: Isaac Date: Mon, 15 Jan 2024 00:27:13 +0000 Subject: [PATCH] feat(pterodactyl): improve egg --- egg-discord-tickets-bot.json | 102 ---------------------------- pterodactyl.json | 124 +++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+), 102 deletions(-) delete mode 100644 egg-discord-tickets-bot.json create mode 100644 pterodactyl.json diff --git a/egg-discord-tickets-bot.json b/egg-discord-tickets-bot.json deleted file mode 100644 index fa15ba6..0000000 --- a/egg-discord-tickets-bot.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v2", - "update_url": null - }, - "exported_at": "2024-01-14T14:44:45-05:00", - "name": "Discord Tickets Bot", - "author": "contact@bisecthosting.com", - "description": "An egg for the discord-tickets bot service.", - "features": null, - "docker_images": { - "docker.io\/eartharoid\/discord-tickets:main": "docker.io\/eartharoid\/discord-tickets:main" - }, - "file_denylist": [], - "startup": "\/app\/scripts\/start.sh", - "config": { - "files": "{\r\n \".env\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"HTTP_PORT\": \"{{server.build.default.port}}\",\r\n \"HTTP_HOST\": \"0.0.0.0\",\r\n \"DB_PROVIDER\": \"{{env.DB_PROV}}\",\r\n \"DB_CONNECTION_URL\": \"{{env.DBHOST}}\",\r\n \"DISCORD_SECRET\": \"{{env.DISCORDSECRET}}\",\r\n \"DISCORD_TOKEN\": \"{{env.DISCORDTOKEN}}\",\r\n \"HTTP_EXTERNAL\": \"{{env.EXTERNAL}}\",\r\n \"SUPER\": \"{{env.SUPERIDS}}\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"SUCCESS\"\r\n}", - "logs": "{}", - "stop": "exit" - }, - "scripts": { - "installation": { - "script": "output_file=\"\/mnt\/server\/.env\"\r\nrandom=$(cat \/dev\/urandom | tr -dc 'a-f0-9' | fold -w 48 | head -n 1)\r\necho \"DB_CONNECTION_URL=\" >> $output_file\r\necho \"DB_PROVIDER=\" >> $output_file\r\necho \"DISCORD_SECRET=\" >> $output_file\r\necho \"DISCORD_TOKEN=\" >> $output_file\r\necho \"ENCRYPTION_KEY=${random}\" >> $output_file\r\necho \"HTTP_EXTERNAL=http:\/\/127.0.0.1:8169\" >> $output_file\r\necho \"HTTP_HOST=0.0.0.0\" >> $output_file\r\necho \"HTTP_PORT=8169\" >> $output_file\r\necho \"HTTP_TRUST_PROXY=false\" >> $output_file\r\necho \"NODE_ENV=production\" >> $output_file\r\necho \"OVERRIDE_ARCHIVE=\" >> $output_file\r\necho \"PUBLIC_BOT=false\" >> $output_file\r\necho \"PUBLISH_COMMANDS=false\" >> $output_file\r\necho \"SUPER=319467558166069248\" >> $output_file\r\n\r\necho \"Environment variables written to $output_file\"", - "container": "node:14-buster-slim", - "entrypoint": "bash" - } - }, - "variables": [ - { - "name": "Database Provider", - "description": "The database type you want to use, it is not recommended to use SQLite in production. - PostgreSQL \/ MySQL \/ SQLite", - "env_variable": "DB_PROV", - "default_value": "sqlite", - "user_viewable": true, - "user_editable": true, - "rules": "required|string|max:20", - "field_type": "text" - }, - { - "name": "Database URL", - "description": "It is recommended you do not use SQLite in production.\r\nhttps:\/\/discordtickets.app\/self-hosting\/configuration\/#db_connection_url", - "env_variable": "DBHOST", - "default_value": "file:\/\/home\/container\/user\/database.db?socket_timeout=120000&busy_timeout=10000", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string|max:200", - "field_type": "text" - }, - { - "name": "Discord 0Auth Secret", - "description": "", - "env_variable": "DISCORDSECRET", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string|max:75", - "field_type": "text" - }, - { - "name": "Discord Bot Token", - "description": "", - "env_variable": "DISCORDTOKEN", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string|max:100", - "field_type": "text" - }, - { - "name": "External URL", - "description": "The externally accessible url of the bot, in most cases this will be the server IP and Port assigned to you.", - "env_variable": "EXTERNAL", - "default_value": "http:\/\/ip:port", - "user_viewable": true, - "user_editable": true, - "rules": "required|string|max:150", - "field_type": "text" - }, - { - "name": "Owner IDs", - "description": "Comma separated list of discord owner IDs, the default is that of the bot developer and is recommended to leave in if you wan them to be able to debug issues for you.", - "env_variable": "SUPERIDS", - "default_value": "319467558166069248", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string|max:200", - "field_type": "text" - }, - { - "name": "PTERODACTYL", - "description": "Internal variable to denote to the bot that it is in a pterodactyl container, required for functionality", - "env_variable": "PTERODACTYL", - "default_value": "", - "user_viewable": false, - "user_editable": false, - "rules": "required|string|max:20", - "field_type": "text" - } - ] -} diff --git a/pterodactyl.json b/pterodactyl.json new file mode 100644 index 0000000..8fa8f8a --- /dev/null +++ b/pterodactyl.json @@ -0,0 +1,124 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-01-15T00:25:21+00:00", + "name": "Discord Tickets Bot", + "author": "contact@bisecthosting.com", + "description": "The official egg for the Discord Tickets bot.", + "features": null, + "docker_images": { + "4.0 (recommended)": "ghcr.io\/discord-tickets\/bot:4.0", + "latest": "ghcr.io\/discord-tickets\/bot:latest", + "main (unstable)": "ghcr.io\/discord-tickets\/bot:main" + }, + "file_denylist": [], + "startup": "\/app\/scripts\/start.sh", + "config": { + "files": "{\r\n \".env\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"HTTP_PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"SUCCESS\"\r\n}", + "logs": "{}", + "stop": "exit" + }, + "scripts": { + "installation": { + "script": "output_file=\"\/mnt\/server\/.env\"\r\nrandom=$(cat \/dev\/urandom | tr -dc 'a-f0-9' | fold -w 48 | head -n 1)\r\necho \"# Most environment variables can be found on the Startup page\" >> $output_file\r\necho \"ENCRYPTION_KEY=${random}\" >> $output_file\r\necho \"HTTP_EXTERNAL=http:\/\/${SERVER_IP}:${SERVER_PORT}\" >> $output_file\r\necho \"HTTP_PORT=\" >> $output_file\r\necho \"Environment variables written to $output_file\"", + "container": "node:18-buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Database Provider", + "description": "The type of database you want to use. SQLite is not recommended in production.", + "env_variable": "DB_PROVIDER", + "default_value": "sqlite", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20|in:sqlite,mysql,postgresql", + "field_type": "text" + }, + { + "name": "Database URL", + "description": "Leave blank if using SQLite, but SQLite is not recommended in production.\r\nhttps:\/\/discordtickets.app\/self-hosting\/configuration\/#db_connection_url", + "env_variable": "DB_CONNECTION_URL", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:250", + "field_type": "text" + }, + { + "name": "Discord 0Auth2 Secret", + "description": "", + "env_variable": "DISCORD_SECRET", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:75", + "field_type": "text" + }, + { + "name": "Discord Bot Token", + "description": "", + "env_variable": "DISCORD_TOKEN", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:100", + "field_type": "text" + }, + { + "name": "Owner IDs", + "description": "Comma-separated list of the bot owners' Discord IDs. The default is that of the bot developer and is recommended to leave in if you want them to be able to debug issues for you.", + "env_variable": "SUPER", + "default_value": "319467558166069248", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:200", + "field_type": "text" + }, + { + "name": "PTERODACTYL", + "description": "Internal variable to denote to the bot that it is in a pterodactyl container, required for functionality", + "env_variable": "PTERODACTYL", + "default_value": "true", + "user_viewable": false, + "user_editable": false, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Trust proxies?", + "description": "Should proxy headers be trusted?\r\nOnly enable this if running behind a safe reverse proxy.", + "env_variable": "HTTP_TRUST_PROXY", + "default_value": "false", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20|in:true,false", + "field_type": "text" + }, + { + "name": "Override archive", + "description": "If set to \"false\", archives will be forcibly disabled in all servers.", + "env_variable": "OVERRIDE_ARCHIVE", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:20", + "field_type": "text" + }, + { + "name": "Auto-publish commands?", + "description": "If enabled, commands will be published on startup so you don't need to do it manually.", + "env_variable": "PUBLISH_COMMANDS", + "default_value": "true", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20|in:true,false", + "field_type": "text" + } + ] +}