add Forgejo (#2809)

* added forgejo egg

* updated main repository readme

* made requested changes

* try the file_denylist

---------

Co-authored-by: Quinten <67589015+QuintenQVD0@users.noreply.github.com>
This commit is contained in:
Seaswimmer 2024-03-20 03:47:50 -04:00 committed by GitHub
parent 099d68c2ad
commit 2e4b42bb1c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 86 additions and 0 deletions

View File

@ -404,6 +404,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Folding@Home](/software/foldingathome)
### Forgejo
* [Forgejo](/software/forgejo)
### Gitea
* [Gitea](/software/gitea)

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 |

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