{
  "_comment": "DO NOT EDIT: FILE GENERATED FOR PTERODACTYL PANEL IMPORTS.",
  "meta": {
    "version": "PTDL_v2",
    "update_url": null
  },
  "exported_at": "2026-03-08T19:15:00+01:00",
  "name": "LicenseNodeJS Commercial",
  "author": "contact@itslaurin.de",
  "description": "Commercial license server for LicenseNodeJS. Downloads the single-file installer, configures the runtime non-interactively and starts the server inside Pterodactyl.",
  "features": null,
  "docker_images": {
    "ghcr.io/pterodactyl/yolks:nodejs_20": "ghcr.io/pterodactyl/yolks:nodejs_20"
  },
  "file_denylist": [],
  "startup": "if [ ! -f ./start-licensesys.sh ]; then echo '[ERROR] start-licensesys.sh fehlt. Bitte Server neu installieren.'; exit 1; fi; chmod +x ./start-licensesys.sh; export LICENSESYS_HOME=/home/container/.license-nodejs-commercial; export DEPLOYMENT_TARGET=pterodactyl; export PORT={{SERVER_PORT}}; export API_URL=\"${API_URL:-http://127.0.0.1:{{SERVER_PORT}}}\"; exec sh ./start-licensesys.sh start",
  "config": {
    "files": "{}",
    "startup": "{\"done\":\"[INFO] Starte License Server aus\"}",
    "logs": "{}",
    "stop": "^C"
  },
  "scripts": {
    "installation": {
      "script": "#!/bin/bash\nset -euo pipefail\ncd /mnt/server\nINSTALLER_TARGET=\"/mnt/server/start-licensesys.sh\"\nINSTALLER_SOURCE=\"${INSTALLER_URL:-https://plugindocs.nextsmp.net/assets/license-system/start-licensesys.sh}\"\nPORT_VALUE=\"${SERVER_PORT:-${PORT:-25504}}\"\nif command -v curl >/dev/null 2>&1; then\n  curl -fsSL \"$INSTALLER_SOURCE\" -o \"$INSTALLER_TARGET\"\nelif command -v wget >/dev/null 2>&1; then\n  wget -qO \"$INSTALLER_TARGET\" \"$INSTALLER_SOURCE\"\nelse\n  echo \"curl oder wget wird für den Download benötigt.\"\n  exit 1\nfi\nchmod +x \"$INSTALLER_TARGET\"\nexport LICENSESYS_HOME=\"/mnt/server/.license-nodejs-commercial\"\nexport DEPLOYMENT_TARGET=\"pterodactyl\"\nexport PORT=\"$PORT_VALUE\"\nexport API_URL=\"${API_URL:-http://127.0.0.1:${PORT_VALUE}}\"\nexport LICENSESYS_SKIP_REMOTE_CHECK=\"1\"\nsh \"$INSTALLER_TARGET\" setup-env\necho \"LicenseNodeJS Commercial für Pterodactyl wurde eingerichtet.\"\n",
      "container": "ghcr.io/pterodactyl/yolks:nodejs_20",
      "entrypoint": "bash"
    }
  },
  "variables": [
    {
      "name": "Installer URL",
      "description": "Remote URL zur start-licensesys.sh Datei.",
      "env_variable": "INSTALLER_URL",
      "default_value": "https://plugindocs.nextsmp.net/assets/license-system/start-licensesys.sh",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "required|string|max:255",
      "field_type": "text"
    },
    {
      "name": "Admin Token",
      "description": "Admin Passwort / API Token für den License Server.",
      "env_variable": "ADMIN_TOKEN",
      "default_value": "",
      "user_viewable": 0,
      "user_editable": 1,
      "rules": "required|string|min:16|max:191",
      "field_type": "text"
    },
    {
      "name": "Owner Name",
      "description": "Firmenname oder Owner Name.",
      "env_variable": "OWNER_NAME",
      "default_value": "Your Company",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "required|string|max:120",
      "field_type": "text"
    },
    {
      "name": "Owner Email",
      "description": "Support E-Mail für den License Server.",
      "env_variable": "OWNER_EMAIL",
      "default_value": "support@example.com",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "required|string|email|max:120",
      "field_type": "text"
    },
    {
      "name": "Owner Website",
      "description": "Website oder Firmen-URL.",
      "env_variable": "OWNER_WEBSITE",
      "default_value": "https://example.com",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "required|string|url|max:255",
      "field_type": "text"
    },
    {
      "name": "Owner Discord",
      "description": "Optionaler Discord Kontakt.",
      "env_variable": "OWNER_DISCORD",
      "default_value": "",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "nullable|string|max:120",
      "field_type": "text"
    },
    {
      "name": "Owner IP",
      "description": "Optionale feste Owner/Admin IP.",
      "env_variable": "OWNER_IP",
      "default_value": "",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "nullable|string|max:120",
      "field_type": "text"
    },
    {
      "name": "API URL",
      "description": "Optional. Leer lassen für http://127.0.0.1:SERVER_PORT.",
      "env_variable": "API_URL",
      "default_value": "",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "nullable|string|max:255",
      "field_type": "text"
    },
    {
      "name": "Allowed Origins",
      "description": "Comma-separated Origins für CORS.",
      "env_variable": "ALLOWED_ORIGINS",
      "default_value": "https://plugindocs.nextsmp.net,http://127.0.0.1:4173,http://localhost:4173",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "required|string|max:1000",
      "field_type": "text"
    },
    {
      "name": "Webhook URL",
      "description": "Optionaler Webhook für Events.",
      "env_variable": "WEBHOOK_URL",
      "default_value": "",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "nullable|string|max:255",
      "field_type": "text"
    },
    {
      "name": "Commercial Asset Base URL",
      "description": "Remote Asset Base für Installer und Wrapper.",
      "env_variable": "COMMERCIAL_ASSET_BASE_URL",
      "default_value": "https://plugindocs.nextsmp.net/assets/license-system",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "required|string|url|max:255",
      "field_type": "text"
    },
    {
      "name": "Commercial Docs URL",
      "description": "Remote Docs URL für das License System.",
      "env_variable": "COMMERCIAL_DOCS_URL",
      "default_value": "https://plugindocs.nextsmp.net/license-system.html",
      "user_viewable": 1,
      "user_editable": 1,
      "rules": "required|string|url|max:255",
      "field_type": "text"
    }
  ]
}
