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