feat(pterodactyl): improve egg

This commit is contained in:
Isaac 2024-01-15 00:27:13 +00:00
parent e6f87a8bf5
commit e8456c09f1
No known key found for this signature in database
GPG Key ID: 0DE40AE37BBA5C33
2 changed files with 124 additions and 102 deletions

View File

@ -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"
}
]
}

124
pterodactyl.json Normal file
View File

@ -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"
}
]
}