{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
    "meta": {
        "version": "PTDL_v2",
        "update_url": null
    },
    "exported_at": "2023-03-29T10:33:50+02:00",
    "name": "Bastion",
    "author": "parker@parkervcp.com",
    "description": "Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities",
    "features": null,
    "docker_images": {
        "Bastion": "ghcr.io\/parkervcp\/yolks:bot_bastion"
    },
    "file_denylist": [],
    "startup": "{{STARTUP_CMD}}",
    "config": {
        "files": "{}",
        "startup": "{\r\n    \"done\": \"Ready\"\r\n}",
        "logs": "{}",
        "stop": "^^C"
    },
    "scripts": {
        "installation": {
            "script": "#!\/bin\/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## Move to install folder\r\napt update\r\napt install -y build-essential libtool python3 git tar\r\n\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\/\r\n\r\nif [ -d \"\/mnt\/server\/mongodb\" ]\r\nthen\r\n    cd \/mnt\/server\/\r\n    echo \"backing up mongodb\"\r\n    REINSTALL=true\r\n    tar -czf mongodb_backup.tar.gz mongodb\/\r\n    mv mongodb_backup.tar.gz \/tmp\r\nfi\r\n\r\ncd \/mnt\/server\r\nrm -rf * .git\/ .github\/ .env.example .eslintrc.yml .gitattributes .gitignore .npm\/\r\n\r\n\r\n## Clone repo\r\necho \"cloning Bastion bot\"\r\ngit clone -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\necho \"updating npm\"\r\nnpm install -g npm@latest\r\necho \"npm install --no-package-lock\"\r\nnpm install --no-package-lock\r\necho \"npm run build\"\r\nnpm run build\r\n\r\n## Move config files.\r\nmv settings.example.yaml settings.yaml\r\nrm -rf bastion.cmd .env.example bastion.sh scrips\/\r\n\r\n\r\nmkdir -p mongodb\/\r\nif [ \"$REINSTALL\" == \"true\" ]\r\nthen\r\n    cd \/mnt\/server\r\n    echo \"reinstall\"\r\n    mv \/tmp\/mongodb_backup.tar.gz \/mnt\/server\r\n    tar xf mongodb_backup.tar.gz\r\n    rm mongodb_backup.tar.gz\r\nelse\r\n    echo \"fresh install\"\r\nfi\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
            "container": "node:18-bullseye",
            "entrypoint": "bash"
        }
    },
    "variables": [
        {
            "name": "Bot Token",
            "description": "The Bot Token you get from https:\/\/discordapp.com\/developers\/applications\/",
            "env_variable": "BOT_TOKEN",
            "default_value": "GETABOTTOKEN",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:80",
            "field_type": "text"
        },
        {
            "name": "Bot Client ID",
            "description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
            "env_variable": "BOT_ID",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:32",
            "field_type": "text"
        },
        {
            "name": "Mongo URL",
            "description": "use `mongodb:\/\/127.0.0.1:27017\/bastion` for using the build in mongodb server",
            "env_variable": "MONGO_URI",
            "default_value": "mongodb:\/\/127.0.0.1:27017\/bastion",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:128",
            "field_type": "text"
        },
        {
            "name": "Music Activity",
            "description": "When enabled, Bastion updates the activity to the currently playing track",
            "env_variable": "BASTION_MUSIC_ACTIVITY",
            "default_value": "true",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false",
            "field_type": "text"
        },
        {
            "name": "Relay Direct Messages",
            "description": "When enabled, Bastion will relay any direct messages it receives to the owner of the bot application \/ team.",
            "env_variable": "BASTION_RELAY_DMS",
            "default_value": "false",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false",
            "field_type": "text"
        },
        {
            "name": "Safe Mode",
            "description": "When enabled, this disables usage of unsafe commands like `exec` and `eval`.",
            "env_variable": "UNSAFE_MODE",
            "default_value": "false",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false",
            "field_type": "text"
        },
        {
            "name": "Bastion API Port",
            "description": "Port used for Bastion API Server",
            "env_variable": "BASTION_API_PORT",
            "default_value": "8377",
            "user_viewable": true,
            "user_editable": false,
            "rules": "required|string|max:10",
            "field_type": "text"
        },
        {
            "name": "Bastion API Auth",
            "description": "Auth for accessing the Bastion API Server.",
            "env_variable": "BASTION_API_AUTH",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|string|max:128",
            "field_type": "text"
        },
        {
            "name": "Startup cmd",
            "description": "set to `npm start` if you just want to start the bot.\r\nset to `npm run commands` to activate the slash commands",
            "env_variable": "STARTUP_CMD",
            "default_value": "npm start",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:npm start,npm run commands",
            "field_type": "text"
        }
    ]
}