{ "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", "meta": { "update_url": null, "version": "PTDL_v2" }, "exported_at": "2024-06-02T14:40:58+00: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}", "logs": "{}", "startup": "{\r\n \"done\": \"Listen: \"\r\n}", "stop": "^C" }, "scripts": { "installation": { "container": "ghcr.io/parkervcp/yolks:debian", "entrypoint": "bash", "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\" ]] \u0026\u0026 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}\" \u003e /mnt/server/custom/app.ini\r\nfi\r\n\r\necho -e \"-------------------------------------------------\"\r\necho -e \"Installation completed\"\r\necho -e \"-------------------------------------------------\"" } }, "variables": [ { "name": "Disable SSH", "description": "Disable the SSH feature when it’s 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" } ] }