first commit

This commit is contained in:
Chillcog committed 2026-07-03 05:00:02 -07:00
commit 21788ba270
643 files changed
+45536

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
# 5e Tools
> A suite of tools for 5th Edition Dungeons & Dragons players and Dungeon Masters.
This is a self-hosted mirror of https://5e.tools. It will clone a github repository mirror on install and update on container reboot.
+42
View File
@@ -0,0 +1,42 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2022-11-27T17:50:04+01:00",
"name": "5e Tools",
"author": "pterodactyl@demi.cloud",
"description": "A suite of tools for 5th Edition Dungeons & Dragons players and Dungeon Masters.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": "cd ~\/5e-tools && git pull && cd && .\/caddy run --config ~\/caddy.json",
"config": {
"files": "{\r\n \"caddy.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"apps.http.servers.srv0.listen.0\": \":{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"serving initial configuration\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# 5e Tools install script\r\n#\r\n# Server Files: \/mnt\/server\r\ndeclare -r DIR=\"\/mnt\/server\"\r\ndeclare -r CADDY_INSTALL_URL=\"https:\/\/caddyserver.com\/api\/download?os=linux&arch=amd64&idempotency=41554620449867\"\r\ndeclare -r LOCAL_REPO=\"${DIR}\/5e-tools\"\r\n\r\ndie() {\r\n local message=\"$1\"\r\n printf \"\\n%s\\n\" \"${message}\"\r\n exit 2\r\n}\r\ncd_error() {\r\n die \"ERROR: installation encountered an error while trying to change directory\"\r\n}\r\n\r\nmain() {\r\n local git_origin\r\n apt update\r\n apt install -y wget\r\n cd \"${DIR}\" || cd_error\r\n printf \"\\nInstalling Caddy...\\n\"\r\n wget \"${CADDY_INSTALL_URL}\" -O .\/caddy\r\n chmod +x .\/caddy\r\n printf \"\\nGenerating Caddy configuration...\\n\"\r\n # this is a default config\r\n # key variables, such as the port, will get overwritten with the pterodactyl\r\n # configuration parser\r\n cat <<EOF >\"${DIR}\/caddy.json\"\r\n{\r\n \"apps\": {\r\n \"http\": {\r\n \"servers\": {\r\n \"srv0\": {\r\n \"listen\": [\r\n \":8080\"\r\n ],\r\n \"routes\": [\r\n {\r\n \"handle\": [\r\n {\r\n \"handler\": \"vars\",\r\n \"root\": \"\/home\/container\/5e-tools\"\r\n },\r\n {\r\n \"encodings\": {\r\n \"gzip\": {},\r\n \"zstd\": {}\r\n },\r\n \"handler\": \"encode\",\r\n \"prefer\": [\r\n \"zstd\",\r\n \"gzip\"\r\n ]\r\n },\r\n {\r\n \"handler\": \"file_server\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n}\r\nEOF\r\n git config --global pull.ff only\r\n if [[ ! -d \"${LOCAL_REPO}\" ]]; then\r\n printf \"\\nCloning latest version (this may take a while)...\\n\"\r\n # $REPOSITORY is passed via environment variable from pterodactyl\r\n git clone \"${REPOSITORY}\" \"${LOCAL_REPO}\"\r\n else\r\n cd \"${LOCAL_REPO}\" || cd_error\r\n git_origin=\"$(git config --get remote.origin.url)\"\r\n cd \"${DIR}\" || cd_error\r\n printf \"\\n\\ngit origin is %s\\n\\n\" \"${git_origin}\"\r\n # if the user hasn't change the repository variable\r\n if [[ \"${git_origin}\" == \"${REPOSITORY}\" ]]; then\r\n cd \"${LOCAL_REPO}\" || cd_error\r\n printf \"\\nRepository already installed - updating...\\n\"\r\n git fetch --all\r\n git reset --hard origin\/master\r\n git pull\r\n cd \"${DIR}\" || cd_error\r\n else\r\n printf \"\\nRepository variable changed since last update\\n...\\n\"\r\n rm -rf \"${LOCAL_REPO}\"\r\n git clone \"${REPOSITORY}\" \"${LOCAL_REPO}\"\r\n fi\r\n fi\r\n printf \"\\nInstallation Complete\\n\"\r\n}\r\nmain \"@\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "5e Tools Repository",
"description": "Git Repository to use for cloning 5e Tools",
"env_variable": "REPOSITORY",
"default_value": "https:\/\/github.com\/5etools-mirror-1\/5etools-mirror-1.github.io",
"user_viewable": false,
"user_editable": false,
"rules": "required|url",
"field_type": "text"
}
]
}
+13
View File
@@ -0,0 +1,13 @@
# Code-Server
## From the [Code-Server](https://github.com/cdr/code-server) GitHub
Run [VS Code](https://github.com/Microsoft/vscode) on any machine anywhere and access it in the browser.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
| ---- | ------- |
| Game | 8080 |
@@ -0,0 +1,56 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-02-04T23:01:25+01:00",
"name": "Code-Server",
"author": "mario.franze@gmail.com",
"description": "Run VS Code on any machine anywhere and access it in the browser.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18",
"ghcr.io\/parkervcp\/yolks:nodejs_17": "ghcr.io\/parkervcp\/yolks:nodejs_17",
"ghcr.io\/parkervcp\/yolks:nodejs_16": "ghcr.io\/parkervcp\/yolks:nodejs_16",
"ghcr.io\/parkervcp\/yolks:nodejs_14": "ghcr.io\/parkervcp\/yolks:nodejs_14",
"ghcr.io\/parkervcp\/yolks:nodejs_12": "ghcr.io\/parkervcp\/yolks:nodejs_12"
},
"file_denylist": [],
"startup": "sh .local\/lib\/code-server-{{VERSION}}\/bin\/code-server",
"config": {
"files": "{\r\n \".config\/code-server\/config.yaml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"password\": \"password: {{server.build.env.PASSWORD}}\",\r\n \"bind-addr\": \"bind-addr: 0.0.0.0:{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"HTTP server listening on\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "apt update\r\napt install -y curl jq\r\n\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\nMATCH=linux-${ARCH}\r\n# Create initial directories\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho ${ARCH}\r\necho ${MATCH}\r\n# Create needed directories\r\nmkdir -p \/mnt\/server\/.local\/lib \/mnt\/server\/.local\/bin \/mnt\/server\/.config\/code-server \/mnt\/server\/projects\r\n\r\n# Change permission of projects directory so it can be accessed by code-server\r\nchmod 777 \/mnt\/server\/projects\r\ntouch \"\/mnt\/server\/projects\/PLACE YOUR PROJECTS HERE\"\r\n\r\n# Check for available versions. Defaults to latest if no valid version is found.\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/coder\/code-server\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/coder\/code-server\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"v${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"v${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"v${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n# Download the given Version and extract it\r\necho \"Downloading $DOWNLOAD_URL\"\r\ncurl -fL $DOWNLOAD_URL | tar -C \/mnt\/server\/.local\/lib -xz\r\nmv \/mnt\/server\/.local\/lib\/code-server-*linux-${ARCH} \/mnt\/server\/.local\/lib\/code-server-${VERSION}\r\n\r\n\r\nPATH=\"\/mnt\/server\/.local\/bin:$PATH\"\r\necho \"password: changeme\r\nbind-addr: 0.0.0.0\r\nauth: password\r\ncert: false\" > \/mnt\/server\/.config\/code-server\/config.yaml\r\n\r\necho \"Install complete\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Password",
"description": "Password to login to your Code-Server instance",
"env_variable": "PASSWORD",
"default_value": "changeme",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "Version",
"description": "Version for (re)installation such as 3.9.3. Defaults to latest version if no valid version is provided",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:20",
"field_type": "text"
}
]
}
+17
View File
@@ -0,0 +1,17 @@
# Elasticsearch
## From the [Elasticsearch](https://github.com/elastic/elasticsearch) GitHub
Run [Elasticsearch](https://github.com/elastic/elasticsearch) on any machine anywhere and access it in the browser.
## vm.max_map_count requirement
Please follow this for the vm.max_map_count requirement: <https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_set_vm_max_map_count_to_at_least_262144>
## Server Ports
Ports required to run the server in a table format.
| Port | default |
| ---- | ------- |
| Game | 9200 |
@@ -0,0 +1,52 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-01T11:53:05+02:00",
"name": "Elasticsearch",
"author": "dominic@stilma.net",
"description": "Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for lightning fast search, fine\u2011tuned relevancy, and powerful analytics that scale with ease.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/bin\/elasticsearch -E network.host=0.0.0.0 -E http.port={{SERVER_PORT}} -E discovery.type={{DISCOVERY_SEED_HOSTS}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"started\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Elasticsearch Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n## Install Requirements\r\n\r\ncd \/mnt\/server\r\n\r\n## Install Elasticsearch\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"x86_64\" || echo \"aarch64\")\r\ncurl -sSL -o elasticsearch.tar.gz https:\/\/artifacts.elastic.co\/downloads\/elasticsearch\/elasticsearch-$VERSION-linux-${ARCH}.tar.gz\r\n\r\ntar -zxf elasticsearch.tar.gz --directory \/mnt\/server\r\nmv elasticsearch*\/* \/mnt\/server\r\nrm elasticsearch.tar.gz\r\nrm -R elasticsearch-*\r\n\r\n## Finish command\r\necho \"All done! Just start it up :)\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Discovery Seed Hosts",
"description": "Please keep default if you are unsure.",
"env_variable": "DISCOVERY_SEED_HOSTS",
"default_value": "single-node",
"user_viewable": true,
"user_editable": true,
"rules": "required",
"field_type": "text"
},
{
"name": "Elasticsearch Version",
"description": "Go to https:\/\/www.elastic.co\/downloads\/elasticsearch and look at the version at the top.",
"env_variable": "VERSION",
"default_value": "8.13.0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}
+35
View File
@@ -0,0 +1,35 @@
# Folding@Home
[Folding@Home](https://foldingathome.org/) is a distributed computing project aimed at simulating protein folding and other molecular dynamics.
## User Account
You can setup an User Account to track your PPD (Points per Day) and done WUs (Work Units). To get a Passkey visit the [Folding@home Passkey Site](https://apps.foldingathome.org/getpasskey)
## Teams
You can add your earned Points to a Team that you support. This is not nessesary as the points are just to track how much work was done (with some exeptions). Here is the [full List of the Teams](https://stats.foldingathome.org/team)
## Remote Control
You can connect via FAHControl to your instance. WebUI is not supported because it wouldn't be password protected.
## CPU Usage Control
There are three power modes:
- light
- medium
- full
Only light and medium are useful because full enables gpu which is not supported in this egg.
Light uses half of the available **cpu cores of your system**. Full uses **all of your cpu cores.** You can still limit the cpu usage via the panel.
## Supported Versions
Versions < v8 are supported. v8 is still beta and wont work with this egg. Get the latest v7 version number here: [Folding@Home Downloadserver](https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/)
## Server Ports
| Port | default |
| ---- | ------- |
| FAHControl | 36330 |
@@ -0,0 +1,102 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-04-30T12:31:28+02:00",
"name": "Folding@Home",
"author": "fuggschen@krk-gaming.de",
"description": "Folding@home is a distributed computing project aimed to help scientists develop new therapeutics for a variety of diseases by the means of simulating protein dynamics. This includes the process of protein folding and the movements of proteins, and is reliant on simulations run on volunteers' personal computers",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/FAHClient --user={{FAH_USERNAME}} --team={{FAH_TEAM}} --passkey={{FAH_PASSKEY}} $(if {{FAH_ANON}}; then echo \"--fold-anon=true\"; fi) --command-port={{SERVER_PORT}} --password={{FAH_PASSWORD}} --power={{FAH_POWER}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Started FahCore\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n#\r\n# Folding@Home install script\r\n#\r\n# Created by Fuggschen\r\n\r\nexport DEBIAN_FRONTEND=noninteractive\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"64bit\" || echo \"arm64\")\r\ncd \/tmp\r\n\r\necho \"Removing previous Version\"\r\nmv \/mnt\/server\/config.xml \/tmp\/config.xml\r\nrm -rf \/mnt\/server\/*\r\n\r\necho \"Installing dependencies\"\r\napt update && apt upgrade -y && apt install curl bzip2 -y\r\n\r\necho \"Downloading FAHClient\"\r\ncurl -sSL -o fahclient.tar.bz2 https:\/\/download.foldingathome.org\/releases\/public\/release\/fahclient\/debian-stable-${ARCH}\/${FAH_VERSION}\/latest.tar.bz2\r\n\r\necho \"Installing FAHClient\"\r\ntar -xjf fahclient.tar.bz2 -C \/mnt\/server --strip-components=1\r\n\r\necho \"Cleaning up..\"\r\nrm -f fahclient.tar.bz2\r\nrm -f \/mnt\/server\/sample-config.xml\r\nmv \/tmp\/config.xml \/mnt\/server\/config.xml\r\n\r\nFILE=\/mnt\/server\/config.xml\r\nif [[ ! -f $FILE ]]\r\nthen\r\necho \"Setting up config.xml\"\r\ncat > $FILE << EOF\r\n<config>\r\n <!-- Folding Slots -->\r\n <slot id='0' type='CPU'\/>\r\n <!-- Maximum CPU Cores to use. Can't be more than 64 -->\r\n <cpus v='64'\/>\r\n<\/config>\r\nEOF\r\nfi\r\n\r\necho \"Done!\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "FaH Username",
"description": "Your Folding@Home Username",
"env_variable": "FAH_USERNAME",
"default_value": "Anonymous",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "FaH Team",
"description": "Your Folding@Home Team that you are folding for. For reference look here: https:\/\/stats.foldingathome.org\/team",
"env_variable": "FAH_TEAM",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|int",
"field_type": "text"
},
{
"name": "FaH Passkey",
"description": "Your Folding@Home Passkey for your Username, if not Anonymous. Get your Passkey here: https:\/\/apps.foldingathome.org\/getpasskey",
"env_variable": "FAH_PASSKEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:32",
"field_type": "text"
},
{
"name": "FaH Anonymous Mode",
"description": "Set to true if you are folding Anonymously",
"env_variable": "FAH_ANON",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "FaH Version",
"description": "Set to wanted major Folding@Home Version. Check here: https:\/\/download.foldingathome.org\/releases\/public\/release\/fahclient\/debian-stable-64bit\/",
"env_variable": "FAH_VERSION",
"default_value": "v7.6",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "FaHControl Password",
"description": "Set a WebUI Password",
"env_variable": "FAH_PASSWORD",
"default_value": "SetPasswordHere",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "FaH Power",
"description": "The Powerlevel it should use:\r\n- light (only half the cpu power is used)\r\n- medium (full cpu power)\r\n- full (full cpu and gpu power but gpu is not supported)",
"env_variable": "FAH_POWER",
"default_value": "medium",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:light,medium,full",
"field_type": "text"
}
]
}
+18
View File
@@ -0,0 +1,18 @@
# Forgejo
[Forgejo](https://forgejo.org/) is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.
## Supported Versions
You can set the version in Version variable. You can use following values:
latest - latest stable release
version - set the version according to this page: https://forgejo.org/releases/
## Server Ports
Ports required to run the server in a table format.
| Port | default |
| ---- | ------- |
| App | 3000 |
| SSH | 2020 |
+64
View File
@@ -0,0 +1,64 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-20T08:45:50+01:00",
"name": "Forgejo",
"author": "seaswimmerthefsh@gmail.com",
"description": "Forgejo is a community managed lightweight code hosting solution written in Go. It is published under the MIT license, and is a fork of Gitea.",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [
"forgejo"
],
"startup": ".\/forgejo web -p {{SERVER_PORT}} -c .\/app.ini",
"config": {
"files": "{\r\n \"custom\/app.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"DISABLE_SSH\": \"DISABLE_SSH: {{server.build.env.DISABLE_SSH}}\",\r\n \"SSH_PORT\": \"SSH_PORT: {{server.build.env.SSH_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Listen: \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "## Forgejo Installscript\r\n## Modified version of the Gitea installscript, see https:\/\/github.com\/parkervcp\/eggs\/blob\/master\/software\/gitea\/egg-gitea.json\r\n\r\n## update system\r\napt update\r\napt -y install --no-install-recommends jq curl ca-certificates dnsutils\r\n\r\n## Variables\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\nLATEST=$(dig +short release.forgejo.org TXT | grep -oE '([0-9]+\\.){2}[0-9]+(-[a-zA-Z0-9]+)*')\r\n\r\n\r\ncd \/mnt\/server\r\n\r\n## install forgejo\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Downloading Forgejo $LATEST (latest)\"\r\n URL=https:\/\/codeberg.org\/forgejo\/forgejo\/releases\/download\/v${LATEST}\/forgejo-${LATEST}-linux-${ARCH}\r\nelse\r\n echo -e \"Downloading Forgejo $VERSION\"\r\n URL=https:\/\/codeberg.org\/forgejo\/forgejo\/releases\/download\/v${VERSION}\/forgejo-${VERSION}-linux-${ARCH}\r\nfi\r\n\r\necho -e \"Download URL: $URL\"\r\n\r\ncurl -sSL -o forgejo $URL\r\n\r\nchmod +x forgejo\r\n\r\nmkdir -p custom\r\n\r\nif [ -f \"\/mnt\/server\/custom\/app.ini\" ]; then\r\n echo \"Config file exists\"\r\nelse\r\n echo \"[server]\r\n LOCAL_ROOT_URL = http:\/\/${SERVER_IP}:${SERVER_PORT}\/\r\n DOMAIN = ${SERVER_IP}\r\n HTTP_PORT = ${SERVER_PORT}\r\n ROOT_URL = http:\/\/${SERVER_IP}:${SERVER_PORT}\/\r\n DISABLE_SSH = ${DISABLE_SSH}\r\n SSH_PORT = ${SSH_PORT}\" > \/mnt\/server\/custom\/app.ini\r\nfi\r\n\r\necho -e \"-------------------------------------------------\"\r\necho -e \"Installation completed\"\r\necho -e \"-------------------------------------------------\"",
"container": "ghcr.io\/parkervcp\/yolks:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Disable SSH",
"description": "Disable the SSH feature when it\u2019s not available.",
"env_variable": "DISABLE_SSH",
"default_value": "false",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "SSH Port",
"description": "SSH port displayed in clone URL.",
"env_variable": "SSH_PORT",
"default_value": "2020",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1024,65535",
"field_type": "text"
},
{
"name": "Version",
"description": "Use either `latest` or a specific version, such as `1.21.7-0`.",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:15",
"field_type": "text"
}
]
}
+19
View File
@@ -0,0 +1,19 @@
# Gitea
[Gitea](https://gitea.io/en-us/) is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.
## Supported Versions
You can set the version in Version variable. You can use following values:
latest - latest stable release
nightly - latest Github master branch
version - set the version according this page: https://dl.gitea.io/gitea
## Server Ports
Ports required to run the server in a table format.
| Port | default |
| ---- | ------- |
| App | 3000 |
| SSH | 2020 |
+62
View File
@@ -0,0 +1,62 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-02-24T16:18:35+01:00",
"name": "Gitea",
"author": "mario.franze@gmail.com",
"description": "Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/gitea web -p {{SERVER_PORT}} -c .\/app.ini",
"config": {
"files": "{\r\n \"custom\/app.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"DISABLE_SSH\": \"DISABLE_SSH: {{server.build.env.DISABLE_SSH}}\",\r\n \"SSH_PORT\": \"SSH_PORT: {{server.build.env.SSH_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Listen: \"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "## Gitea Installscript\r\n\r\n## update system\r\napt update\r\napt -y install --no-install-recommends jq curl ca-certificates\r\n\r\n## Variables\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\nLATEST=$(curl -sSL https:\/\/dl.gitea.io\/gitea\/version.json | jq -r .latest.version)\r\n\r\n\r\ncd \/mnt\/server\r\n\r\n## install gitea\r\necho -e \"Download url: https:\/\/dl.gitea.io\/gitea\/${LATEST}\/gitea-${LATEST}-linux-${ARCH}\"\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"downloading Gitea $LATEST\"\r\n curl -sSL -o gitea https:\/\/dl.gitea.io\/gitea\/${LATEST}\/gitea-${LATEST}-linux-${ARCH}\r\nelif [ \"${VERSION}\" == \"nightly\" ]; then\r\n echo -e \"downloading Gitea nightly\"\r\n curl -sSL -o gitea https:\/\/dl.gitea.io\/gitea\/main\/gitea-main-linux-${ARCH}\r\nelse\r\n curl -sSL -o gitea https:\/\/dl.gitea.io\/gitea\/${VERSION}\/gitea-${VERSION}-linux-${ARCH}\r\n echo -e \"downloading Gitea $VERSION\"\r\nfi\r\n\r\nchmod +x gitea\r\n\r\nmkdir -p custom\r\n\r\nif [ -f \"\/mnt\/server\/custom\/app.ini\" ]; then\r\n echo \"config file exists\"\r\nelse\r\n echo \"[server]\r\n LOCAL_ROOT_URL = http:\/\/${SERVER_IP}:${SERVER_PORT}\/\r\n DOMAIN = ${SERVER_IP}\r\n HTTP_PORT = ${SERVER_PORT}\r\n ROOT_URL = http:\/\/${SERVER_IP}:${SERVER_PORT}\/\r\n DISABLE_SSH = ${DISABLE_SSH}\r\n SSH_PORT = ${SSH_PORT}\" > \/mnt\/server\/custom\/app.ini\r\nfi\r\n\r\necho -e \"-------------------------------------------------\"\r\necho -e \"Installation completed\"\r\necho -e \"-------------------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Disable SSH",
"description": "Disable SSH feature when it\u2019s not available",
"env_variable": "DISABLE_SSH",
"default_value": "false",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "SSH Port",
"description": "SSH port displayed in clone URL.",
"env_variable": "SSH_PORT",
"default_value": "2020",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1024,65535",
"field_type": "text"
},
{
"name": "Version",
"description": "you can use latest, nightly or version (e.g. 1.18.1)",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}
+27
View File
@@ -0,0 +1,27 @@
# Grafana
## From the [Grafana](https://github.com/grafana/grafana) GitHub
The open and composable observability and data visualization platform.
Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
## Initial credentials
After the first start of Grafana, you can login using the following credentials:
- Username: admin
- Password: admin
## Update support
The egg _should_ keep the data and conf folder when reinstalling. Therefore a reinstallation with "latest" as the selected version can be used to update Grafana.
If you want to reset the server completly, remove the `conf` and `data` directories manually before reinstalling.
## Server Ports
Ports required to run the server in a table format.
| Port | default |
| ------------ | ------- |
| Webinterface | 3000 |
+52
View File
@@ -0,0 +1,52 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-13T14:45:01-05:00",
"name": "Grafana",
"author": "p.zarrad@outlook.de",
"description": "The open and composable observability and data visualization platform.\r\nVisualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/bin\/grafana server web",
"config": {
"files": "{\r\n \"conf\/defaults.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"server.http_port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"HTTP Server Listen\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\nshopt -s extglob\r\n\r\n# Switch to mounted directory\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n# Update installation system and install curl\r\napt-get update\r\napt-get install -y curl\r\n\r\n# Cleanup previous install if available\r\nif [ -d \"conf\" ]; then mv conf conf.bak; fi\r\nrm -rfv !(conf.bak|data)\r\n\r\n# Download and extract Grafana\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\n\r\nversion=${GRAFANA_VERSION}\r\nif [ \"$version\" = \"latest\" ]; then version=$(curl --silent \"https:\/\/api.github.com\/repos\/grafana\/grafana\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/' | cut -c2-); fi\r\ncurl https:\/\/dl.grafana.com\/oss\/release\/grafana-${version}.linux-${ARCH}.tar.gz --output grafana.tar.gz\r\ntar -zxvf grafana.tar.gz\r\nmv -n grafana-*\/* .\/\r\nrm -rf grafana.tar.gz grafana-*\/\r\n\r\n# Restore configuration if necessary\r\nif [ -d \"conf.bak\" ]; then rm -rf conf && mv conf.bak conf && rm -rf conf.bak; fi\r\n\r\n# Update existing plugins and install Grafana plugins\r\nif [ ! -z \"${GRAFANA_PLUGINS}\" ]; then\r\nfor v in $(tr ',' '\\n' <<< \"${GRAFANA_PLUGINS}\") ; do .\/bin\/grafana-cli --pluginsDir=\"\/mnt\/server\/data\/plugins\" plugins install \"$v\" ; done\r\nfi\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Grafana Version",
"description": "The version of Grafana to install. By default the latest version is being installed.",
"env_variable": "GRAFANA_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Grafana Plugins",
"description": "A list of Grafana plugins that should be installed. Enter the plugins comma separated (e. g. a,b,c).",
"env_variable": "grafana_plugins",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}
+13
View File
@@ -0,0 +1,13 @@
# haste-server
## Their [Github](https://github.com/seejohnrun/haste-server)
Host your own [Hastebin](https://hastebin.com).
## Server Ports
Ports required to run the server in a table format.
| Port | default |
| ---- | ------- |
| Game | 7777 |
@@ -0,0 +1,31 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:08:10+02:00",
"name": "haste-server",
"author": "kyle@kyle-hosting.xyz",
"description": "Haste is an open-source pastebin software written in node.js, which is easily installable in any network. It can be backed by either redis or filesystem, and has a very easy adapter interface for other stores. A publicly available version can be found at hastebin.com",
"features": null,
"docker_images": {
"ghcr.io\/kylehost\/yolks:nodejs_18": "ghcr.io\/kylehost\/yolks:nodejs_18"
},
"file_denylist": [],
"startup": "npm start",
"config": {
"files": "{\r\n \"config.js\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"listening on\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y git curl\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\ngit clone https:\/\/github.com\/toptal\/haste-server\r\ncd haste-server\r\nmv * \/mnt\/server\r\ncd ..\r\nrm -rf haste-server\r\nnpm install\r\n\r\nexit 0",
"container": "node:18-bookworm-slim",
"entrypoint": "bash"
}
},
"variables": []
}
+9
View File
@@ -0,0 +1,9 @@
# LanguageTool
LanguageTool is an Open Source proofreading software for English, French, German, Polish, Russian, [and more than 20 other languages](https://languagetool.org/languages/). It finds many errors that a simple spell checker cannot find.
View https://languagetool.org for more information.
Requires one port for comunication.
Try `addr:port/v2/check?language=en-US&text=this+is+a+test` to test
@@ -0,0 +1,42 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-10-07T07:47:03+02:00",
"name": "LanguageTool",
"author": "thomasruhl@live.de",
"description": "This egg installs a LanguageTool server\r\n\r\nLanguageTool is an Open Source proofreading software for English, French, German, Polish, Russian, and more than 20 other languages. It finds many errors that a simple spell checker cannot find.\r\n\r\nView https:\/\/languagetool.org for more information.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:java_17": "ghcr.io\/parkervcp\/yolks:java_17"
},
"file_denylist": [],
"startup": "java -cp languagetool-server.jar org.languagetool.server.HTTPServer --port {{SERVER_PORT}} --allow-origin --public --config config.properties",
"config": {
"files": "{\r\n \"config.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"languageModel\": \"models\/\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\napk add --no-cache unzip # to make shure the unzipper is working properly\r\nmkdir -p \/mnt\/server\r\nmkdir -p \/mnt\/server\/models\r\ntouch config.properties\r\n\r\n# if TRAIN_MODELS has content install them\r\nif [ -n TRAIN_MODELS ]; then\r\n\r\n content=$(curl -L https:\/\/languagetool.org\/download\/ngram-data\/)\r\n\r\n links=$(echo \"$content\" | grep -o '<a href=\"[^\"]*\\.zip\">' | sed 's\/<a href=\"\/\/' | sed 's\/\">\/\/')\r\n echo $links\r\n\r\n cd \/mnt\/server\/models\r\n for model in $TRAIN_MODELS; do\r\n echo \"$model\"\r\n for link in $links; do\r\n # echo \" $link\"\r\n if [[ $link == *\"-$model-\"* ]]; then\r\n fullLink=\"https:\/\/languagetool.org\/download\/ngram-data\/$link\"\r\n echo \"Downloading $fullLink\"\r\n echo \"this could take some while\"\r\n curl $fullLink --output $model.zip\r\n echo \"unziping $model.zip\"\r\n unzip $model.zip\r\n rm $model.zip\r\n fi\r\n done\r\n done\r\nfi\r\n\r\n# main languagetool install\r\ncd \/mnt\/server\r\n\r\necho \"downloading languagetool\"\r\ncurl https:\/\/languagetool.org\/download\/LanguageTool-stable.zip --output download.zip\r\necho unziping\r\nunzip download.zip\r\necho moving files\r\n\r\ncp -r LanguageTool-*\/* .\r\n\r\nrm -rf LanguageTool-*\r\nrm download.zip -rf\r\n\r\necho Finished install",
"container": "ghcr.io\/parkervcp\/installers:alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Include traindata",
"description": "This uses many gigabytes of disk space. \r\n\r\nSeparate each value with spaces. For example, \"de en\". \r\n\r\nView all available models at https:\/\/languagetool.org\/download\/ngram-data\/",
"env_variable": "TRAIN_MODELS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}
+7
View File
@@ -0,0 +1,7 @@
# [Meilisearch](https://www.meilisearch.com/)
An open-source, lightning-fast, and hyper-relevant search engine that fits effortlessly into your workflow.
## Server Ports
One port needs to be allocated to run Meilisearch.
+112
View File
@@ -0,0 +1,112 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-09-12T11:04:11+02:00",
"name": "Meilisearch",
"author": "josdekurk@gmail.com",
"description": "A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/meilisearch --http-addr \"0.0.0.0:{{SERVER_PORT}}\" --max-indexing-memory=\"{{SERVER_MEMORY}}mb\" $([ \"$NO_ANALYTICS\" -eq 1 ] && echo \"--no-analytics\")",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Actix runtime found; starting in Actix runtime\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/meilisearch\/meilisearch\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/meilisearch\/meilisearch\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-amd64\" || echo \"linux-aarch64\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n## Config file\r\nFILE=\/mnt\/server\/config.toml\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config file exits\"\r\nelse \r\n echo \"Config does not exist. Making one\"\r\n curl -sSL -o config.toml https:\/\/raw.githubusercontent.com\/meilisearch\/meilisearch\/latest\/config.toml\r\nfi\r\n\r\ncurl -sSL -o meilisearch ${DOWNLOAD_URL}\r\nchmod +x meilisearch\r\n\r\n# Make the needed directory's \r\nmkdir -p \/mnt\/server\/dumps\r\nmkdir -p \/mnt\/server\/data.ms\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Master key",
"description": "In production, a Master key of at least 16 bytes is mandatory\r\nSets the instance's master key, automatically protecting all routes except GET \/health. This means you will need a valid API key to access all other endpoints.",
"env_variable": "MEILI_MASTER_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:64",
"field_type": "text"
},
{
"name": "Environment",
"description": "Configures the instance's environment. Value must be either production or development.",
"env_variable": "MEILI_ENV",
"default_value": "development",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:development,production",
"field_type": "text"
},
{
"name": "Disable analytics",
"description": "Deactivates Meilisearch's built-in telemetry when provided.",
"env_variable": "NO_ANALYTICS",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Dumps dir",
"description": "Sets the directory where Meilisearch will create dump files.",
"env_variable": "MEILI_DUMP_DIR",
"default_value": "\/home\/container\/dumps",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "DB PATH",
"description": "Designates the location where database files will be created and retrieved.",
"env_variable": "MEILI_DB_PATH",
"default_value": "\/home\/container\/data.ms",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Log level",
"description": "Defines how much detail should be present in Meilisearch's logs.",
"env_variable": "MEILI_LOG_LEVEL",
"default_value": "INFO",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:INFO,WARN,ERROR,TRACE",
"field_type": "text"
},
{
"name": "Config Path",
"description": "Designates the location of the configuration file to load at launch.",
"env_variable": "MEILI_CONFIG_FILE_PATH",
"default_value": "\/home\/container\/config.toml",
"user_viewable": true,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Max threads",
"description": "Sets the maximum number of threads Meilisearch can use during indexing",
"env_variable": "MEILI_MAX_INDEXING_THREADS",
"default_value": "2",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer",
"field_type": "text"
}
]
}
+51
View File
@@ -0,0 +1,51 @@
# Owncast
## From the [Owncast](https://owncast.online) website
Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.
## Installation
Follow the common egg installation guide to install the egg on your Pterodactyl instance.
When setting up a server, the version set in the varaible will be used, default is 0.0.11.
## Configuration
Configuring Owncast in Pterodactyl can be done by using the command line switches:
* -backupdir string
* Directory where backups will be written to
* -database string
* Path to the database file.
* -enableDebugFeatures
* Enable additional debugging options.
* -enableVerboseLogging
* Enable additional logging.
* -logdir string
* Directory where logs will be written to
* -restoreDatabase string
* Restore an Owncast database backup
* -rtmpport int
* Set listen port for the RTMP server
* -streamkey string
* Set your stream key/admin password
* -webserverip string
* Force web server to listen on this IP address
* -webserverport string
* Force the web server to listen on a specific port
## Update support
The egg _should_ keep the `data` folder when reinstalling, to prevent destroying the configuration by accident.
If you want to reset the server completly, remove the `data` directory manually before reinstalling.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
| --------------- | ------- |
| Webserver | 8090 |
| RTMP | 8091 |
+102
View File
@@ -0,0 +1,102 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T11:49:15+02:00",
"name": "owncast.online",
"author": "psychoalex@thevcbc.com",
"description": "Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.",
"features": null,
"docker_images": {
"ghcr.io\/pterodactyl\/yolks:debian": "ghcr.io\/pterodactyl\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/owncast -webserverport {{SERVER_PORT}} -rtmpport {{RTMP_PORT}} -streamkey {{STREAM_KEY}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"The web admin interface is available at \/admin.\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n#Make Server Dir\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\ncd \/mnt\/server\/\r\n\r\n#Get Dependencies\r\napt-get -y update\r\napt-get -y install curl unzip tar jq\r\n\r\n#Get Owncast Install Files\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho Download URL is: ${DOWNLOAD_URL}\r\n\r\ncurl -L ${DOWNLOAD_URL} --output .\/owncast_installer.zip\r\n\r\n#curl -L https:\/\/github.com\/owncast\/owncast\/releases\/download\/v${OWNCAST_VERSION}\/owncast-${OWNCAST_VERSION}-linux-64bit.zip --output .\/owncast_installer.zip\r\n\r\n#Unzip Install Files\r\nunzip -o -q .\/owncast_installer.zip\r\nrm .\/owncast_installer.zip\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "RTMP Port",
"description": "The port that is used to receive the stream data.",
"env_variable": "RTMP_PORT",
"default_value": "8091",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "Stream\/Admin Key",
"description": "This is used to authenticate to the web admin interface, as well as to authenticate your stream.",
"env_variable": "STREAM_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:32|max:128",
"field_type": "text"
},
{
"name": "Owncast Version",
"description": "The version of Owncast that you would like to install, from https:\/\/github.com\/owncast\/owncast\/releases\r\nAs an Example - \"v0.0.11\" for a specific version or \"latest\" for the most up to date version.",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Github Repository",
"description": "Used to identify the github repository to pull the release from.",
"env_variable": "GITHUB_PACKAGE",
"default_value": "owncast\/owncast",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:120",
"field_type": "text"
},
{
"name": "Github File Match",
"description": "Used to identify the specific asset under a release for download.",
"env_variable": "MATCH",
"default_value": "linux-64bit",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Github User",
"description": "Required if you are doing more calls than the github anonymous API user allows.",
"env_variable": "GITHUB_USER",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Github Oauth Token",
"description": "Required if you are doing more calls than the github anonymous API user allows.",
"env_variable": "GITHUB_OAUTH_TOKEN",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string|max:128",
"field_type": "text"
}
]
}
+46
View File
@@ -0,0 +1,46 @@
# RabbitMQ
## From the [RabbitMQ](https://www.rabbitmq.com/) website
RabbitMQ is the most widely deployed open source message broker.
## Installation
Follow the common egg installation guide to install the egg on your Pterodactyl instance.
When setting up a server, the latest RabbitMQ version will be used by default.
With pretty new and old versions of RabbitMQ, you might have to adjust the used Erlang version.
This can be archived by adjusting the version number of the used image (e. g. `ghcr.io/pterodactyl/yolks:erlang_22` instead of `ghcr.io/parkervcp/yolks:erlang_24`).
The latest version as of now requires you to use atleast ghcr.io/pterodactyl/yolks:erlang_25
## Configuration
Configuring RabbitMQ in Pterodactyl is only possible using the config files.
This means:
- Configure the server itself as normal using `/home/container/etc/rabbitmq/rabbitmq.conf`
- Enable plugins using the plugin file located at `/home/container/etc/rabbitmq/enabled_plugins`
- Configure users and vhosts through a [definitions.json](https://www.rabbitmq.com/definitions.html)
You can set the path to the used `definitions.json` using the `load_definitions` option in your config.
Note that RabbitMQ versions prior to 3.8.6 will require a properly configured management plugin to do so!
The easiest way to get a working `definitions.json` is to setup a local instance with the management plugin. You can configure your instance there and load the definitions as stated by uploading them.
By default, only `listeners.tcp.default` is configured to match your primary allocation.
If you want to expose some other port (e. g. the web management interface) you have to manually configure the
port in your `rabbitmq.conf`.
## Update support
The egg _should_ keep the `etc` folder when reinstalling, to prevent destroying the configuration by accident. Therefore a reinstallation with "latest" as the selected version can be used to update RabbitMQ.
If you want to reset the server completly, remove the `etc` directory manually before reinstalling.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
| --------------- | ------- |
| RabbitMQ Broker | 5672 |
+46
View File
@@ -0,0 +1,46 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-03-17T19:22:21+01:00",
"name": "RabbitMQ",
"author": "p.zarrad@outlook.de",
"description": "RabbitMQ is a feature rich, multi-protocol messaging broker.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:erlang_26": "ghcr.io\/parkervcp\/yolks:erlang_26",
"ghcr.io\/parkervcp\/yolks:erlang_25": "ghcr.io\/parkervcp\/yolks:erlang_25",
"ghcr.io\/parkervcp\/yolks:erlang_24": "ghcr.io\/parkervcp\/yolks:erlang_24",
"ghcr.io\/parkervcp\/yolks:erlang_23": "ghcr.io\/parkervcp\/yolks:erlang_23",
"ghcr.io\/parkervcp\/yolks:erlang_22": "ghcr.io\/parkervcp\/yolks:erlang_22"
},
"file_denylist": [],
"startup": ".\/sbin\/rabbitmq-server",
"config": {
"files": "{\r\n \"etc\/rabbitmq\/rabbitmq.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"listeners.tcp.default\": \"listeners.tcp.default = 0.0.0.0:{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \" completed with\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/sh\r\n# Switch to mounted directory\r\ncd \/mnt\/server\r\n# Update and install xz\r\napk update\r\napk add xz\r\n# Cleanup previous install if available but leave etc untouched\r\nfind . -maxdepth 1 ! -name \"etc\" ! -name . -exec rm -rf {} \\;\r\n# Download and extract RabbitMQ\r\nversion=${RABBITMQ_VERSION}\r\nif [ \"$version\" = \"latest\" ]; then version=$(curl --silent \"https:\/\/api.github.com\/repos\/rabbitmq\/rabbitmq-server\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/' | cut -c2-); fi\r\ncurl -L https:\/\/github.com\/rabbitmq\/rabbitmq-server\/releases\/download\/v${version}\/rabbitmq-server-generic-unix-${version}.tar.xz --output rabbitmq.tar.xz\r\nxz -v -d rabbitmq.tar.xz && tar -xvf rabbitmq.tar\r\nmv -n rabbitmq_server-*\/* .\/\r\nrm -rf rabbitmq.tar rabbitmq_server-*\/\r\n# If there is no config, download default one\r\nif [ ! -f \"etc\/rabbitmq\/rabbitmq.conf\" ]; then mkdir -p etc\/rabbitmq\/ && curl -L https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/software\/rabbitmq\/rabbitmq.conf --output etc\/rabbitmq\/rabbitmq.conf; fi",
"container": "ghcr.io\/parkervcp\/installers:alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "RabbitMQ Version",
"description": "The version of RabbitMQ to install. By default the latest version is being installed.",
"env_variable": "RABBITMQ_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -0,0 +1,7 @@
# Rathole
A secure, stable and high-performance reverse proxy for NAT traversal, written in Rust
rathole, like frp and ngrok, can help to expose the service on the device behind the NAT to the Internet, via a server with a public IP.
## This egg only includes server side of rathole
Please refer to https://github.com/rapiz1/rathole for more information about rathole
+52
View File
@@ -0,0 +1,52 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-16T14:03:42+01:00",
"name": "Rathole",
"author": "tunayada@gmail.com",
"description": "A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:rust_latest": "ghcr.io\/parkervcp\/yolks:rust_latest"
},
"file_denylist": [],
"startup": ".\/rathole server.toml",
"config": {
"files": "{\r\n \"server.toml\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"server.bind_addr\": \"\\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"server.services.test.token\": \"\\\"{{server.build.env.TOKEN}}\\\"\",\r\n \"server.services.test.bind_addr\": \"\\\"0.0.0.0:{{server.build.default.port}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": [\r\n \"Listening at \"\r\n ]\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n## get release info and download links\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/rapiz1\/rathole\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/rapiz1\/rathole\/releases\")\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"aarch64\")\r\n\r\nif [\"${ARCH}\" == \"aarch64\"]; then\r\n MATCH=rathole-aarch64-unknown-linux-musl.zip\r\nelse\r\n MATCH=rathole-x86_64-unknown-linux-gnu.zip\r\nfi\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho \"Download url: ${DOWNLOAD_URL}\"\r\ncurl -ssL -o rathole.zip ${DOWNLOAD_URL}\r\nunzip rathole.zip\r\nrm rathole.zip\r\ntouch server.toml\r\n\r\nprintf \"[server]\\nbind_addr=\\\"0.0.0.0:${SERVER_PORT}\\\"\\n\\n[server.services.test]\\ntoken=\\\"${TOKEN}\\\"\\nbind_addr=\\\"0.0.0.0:${SERVER_PORT}\\\"\" > server.toml\r\nchmod +x rathole\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Version",
"description": "",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Secret",
"description": "Your random token",
"env_variable": "TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:5|max:60",
"field_type": "text"
}
]
}
+7
View File
@@ -0,0 +1,7 @@
# [Reposilite](https://github.com/dzikoysk/reposilite)
Lightweight and easy-to-use repository management software dedicated for Maven based artifacts in the JVM ecosystem.
## Server Ports
One port needs to be allocated to run Reposilite.
+46
View File
@@ -0,0 +1,46 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-13T17:26:13+0000",
"name": "Reposilite",
"author": "mk@kcra.me",
"description": "Lightweight and easy-to-use repository management software dedicated for Maven based artifacts in the JVM ecosystem.",
"features": null,
"docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_17": "ghcr.io\/pterodactyl\/yolks:java_17",
"ghcr.io\/pterodactyl\/yolks:java_21": "ghcr.io\/pterodactyl\/yolks:java_21"
},
"file_denylist": [],
"startup": "java -Xmx{{SERVER_MEMORY}}M -Dreposilite.port={{SERVER_PORT}} -jar reposilite.jar --port {{SERVER_PORT}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Done (\"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/sh\r\n# Switch to mounted directory\r\ncd \/mnt\/server\r\n# Find latest Reposilite version, if needed\r\nif [ \"$REPOSILITE_VERSION\" == \"latest\" ]; then\r\n REPOSILITE_VERSION=$(grep -oPm1 \"(?<=<latest>)[^<]+\" <<< \"$(curl -s https:\/\/maven.reposilite.com\/releases\/com\/reposilite\/reposilite\/maven-metadata.xml)\")\r\nfi\r\n# Check if -all suffixed jar is available\r\nstatus_code=$(curl --write-out '%{http_code}' -X HEAD -s -o \/dev\/null https:\/\/maven.reposilite.com\/releases\/com\/reposilite\/reposilite\/${REPOSILITE_VERSION}\/reposilite-${REPOSILITE_VERSION}-all.jar)\r\n# Download new Reposilite\r\nif [ \"$status_code\" == 200 ]; then\r\n curl -o reposilite.jar https:\/\/maven.reposilite.com\/releases\/com\/reposilite\/reposilite\/${REPOSILITE_VERSION}\/reposilite-${REPOSILITE_VERSION}-all.jar\r\nelse\r\n curl -o reposilite.jar https:\/\/maven.reposilite.com\/releases\/com\/reposilite\/reposilite\/${REPOSILITE_VERSION}\/reposilite-${REPOSILITE_VERSION}.jar\r\nfi",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Reposilite version",
"description": "The version of Reposilite.",
"env_variable": "REPOSILITE_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
+43
View File
@@ -0,0 +1,43 @@
# Uptime Kuma
## Author & Contributers
| Name | Github Profile | Buy me a Coffee |
| ------------- |-------------|-------------|
| gOOvER | https://github.com/gOOvER | [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/B0B351D0Q) |
## Description
Uptime Kuma is an easy-to-use self-hosted monitoring tool
Egg is based on parkers generic nodejs egg
## Links
Github: https://github.com/louislam/uptime-kuma
## Admin & login
After installation and successful start, browse to your <ip>:<port> and setup the Admin.
## Server Ports
Uptime Kuma requires 1 port. You can choose any port you want
| Port | default |
|---------|---------------|
| default | 3000 |
## Cloudflared, Apprise & Chromium
The latest image provides support for Cloudflared and Apprise.
### Cloudflared
With Cloudflared it is possible to create a proxy over Cloudflare without having to use an nginx proxy. More info here:
https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy-with-Cloudflare-Tunnel
### Apprise
Apprise provides notifications for all kinds of services. Uptime Kuma has a built-in support for Apprise.
More info's here:
https://github.com/caronc/apprise#supported-notifications
### Monitor HTTP(s) - Browser Engine (Chromium)
The image supports the monitor "HTTP(s) - Browser Engine".
To use this monitor, enter the following path in the settings under "General -> Chrome/Chromium Executable" (at the bottom):
/usr/bin/chromium-browser
+62
View File
@@ -0,0 +1,62 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-10-09T19:06:53+02:00",
"name": "Uptime Kuma",
"author": "kyle@kyle-hosting.xyz",
"description": "Uptime Kuma is an easy-to-use self-hosted monitoring tool.",
"features": null,
"docker_images": {
"ghcr.io\/kylehost\/apps:uptimekuma": "ghcr.io\/kylehost\/apps:uptimekuma"
},
"file_denylist": [],
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then npm run setup; fi; \/usr\/local\/bin\/node \/home\/container\/server\/server.js --port={{SERVER_PORT}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"[SERVER] INFO: Listening on \"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Uptime Kuma App Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add --no-cache git curl jq file unzip make gcc g++ python3 python3-dev libtool\r\napk add --no-cache git-lfs --repository=https:\/\/dl-cdn.alpinelinux.org\/alpine\/latest-stable\/community\r\n\r\n## npm update to latest\r\necho -e \"Updating npm to latest....\\n\"\r\nif [ -d \"\/mnt\/server\/node_modules\" ]; then\r\n rm -fR \/mnt\/server\/node_modules\r\n npm cache verify\r\nfi\r\nnpm install -g npm@latest\r\n\r\n## Uptime Kuma install & update\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\ngit config --global --add safe.directory \/mnt\/server\r\n\r\nif [ -d .git ]; then\r\n echo -e \"Updating Uptime Kuma....\\n \"\r\n npm run setup\r\nelse\r\n echo -e \"Download and installing Uptime Kuma...\\n\" \r\n git clone https:\/\/github.com\/louislam\/uptime-kuma.git .\r\n npm run setup\r\nfi\r\n\r\n## only create dir, when .git is present to prevent errors\r\nif [ -d .git ]; then\r\n mkdir -p \/mnt\/server\/data\r\nfi\r\n\r\nif [ ! -f \"\/mnt\/server\/data\/kuma.db\" ]; then\r\n cp \/mnt\/server\/db\/kuma.db \/mnt\/server\/data\/kuma.db\r\nfi\r\n\r\n## install end\r\necho -e \"-----------------------------------------\"\r\necho -e \"Installation completed...\"\r\necho -e \"-----------------------------------------\"\r\nexit 0",
"container": "node:18-alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Git Repo Address",
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/kylehost\/repo_name",
"env_variable": "GIT_ADDRESS",
"default_value": "https:\/\/github.com\/louislam\/uptime-kuma",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "JS file",
"description": "The file that starts the app",
"env_variable": "JS_FILE",
"default_value": "server\/server.js",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
}
]
}
+17
View File
@@ -0,0 +1,17 @@
# Yar
## From their [Github](https://github.com/nkanaev/yarr)
Host your own web based RSS feed aggregator `yarr`.
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| App | 7070 |
### Notes
7070 is the default port, but any port can be used.
+52
View File
@@ -0,0 +1,52 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:06:20+02:00",
"name": "Yarr",
"author": "sotoluis90@gmail.com",
"description": "Yarr is a selfhosted feed aggregator",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/yarr -addr 0.0.0.0:{{SERVER_PORT}} -auth=\"{{USERNAME}}:{{PASSWORD}}\" -db=.\/feed.sql",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"starting server\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir yarr_source\r\ngit clone https:\/\/github.com\/nkanaev\/yarr yarr_source\r\n\r\ncd yarr_source\r\n\r\nmake build_default # -> _output\/yarr\r\n\r\ncp _output\/yarr ..\/yarr\r\ncd ..\/\r\n\r\nrm -rf yarr_source\r\n\r\nchmod +x yarr\r\n\r\necho \"Install complete\"",
"container": "golang:1.19.13-bookworm",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Username",
"description": "The username used to log in to yarr",
"env_variable": "USERNAME",
"default_value": "username",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|alpha_dash",
"field_type": "text"
},
{
"name": "Password",
"description": "The password needed to log in to yarr",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|alpha_dash",
"field_type": "text"
}
]
}