Installing Notur
Automated Installation
The easiest way to install Notur into a Pterodactyl Panel:
bash
curl -sSL https://docs.notur.site/install.sh | bash -s -- /var/www/pterodactylReplace /var/www/pterodactyl with your panel root path if different. This performs all steps below automatically.
Manual Installation
Step 1: Add Composer Package
bash
cd /var/www/pterodactyl
composer require notur/noturStep 2: Patch the Blade Layout
Notur needs to inject its scripts into the panel's HTML. Edit resources/views/layouts/scripts.blade.php and add:
blade
@include('notur::scripts')This file is a minimal binder — adding the include here is the cleanest approach.
Step 3: Apply React Patches
Four small patches add slot containers and dynamic route merging to the panel's React source:
bash
cd /var/www/pterodactyl
# Apply each patch
patch -p1 < vendor/notur/notur/installer/patches/v1.11/routes.ts.patch
patch -p1 < vendor/notur/notur/installer/patches/v1.11/ServerRouter.tsx.patch
patch -p1 < vendor/notur/notur/installer/patches/v1.11/DashboardRouter.tsx.patch
patch -p1 < vendor/notur/notur/installer/patches/v1.11/NavigationBar.tsx.patchWhat the patches do:
| File | Change |
|---|---|
routes.ts | Adds getNoturRoutes() function that reads extension routes from window.__NOTUR__ |
ServerRouter.tsx | Adds slot container for server sub-nav + renders extension server routes |
DashboardRouter.tsx | Adds slot containers for dashboard widgets + renders extension dashboard/account routes |
NavigationBar.tsx | Adds slot container in the top navigation bar |
Step 4: Rebuild Frontend
bash
# One-time rebuild — not needed again when installing/removing extensions
bun install
bun run build:productionStep 5: Run Migrations
bash
php artisan migrateThis creates three tables:
notur_extensions— installed extension recordsnotur_migrations— per-extension migration trackingnotur_settings— per-extension key-value settings
Step 6: Set Up Directories
bash
mkdir -p notur/extensions
mkdir -p public/notur/extensions
echo '{"extensions":{}}' > notur/extensions.jsonStep 7: Install Bridge Runtime
The bridge JS must be built and placed in the panel's public directory:
bash
cd vendor/notur/notur/bridge
bun install
bun run build
cp dist/bridge.js /var/www/pterodactyl/public/notur/bridge.jsVerifying the Installation
- Visit your panel — the page should load normally
- Check the page source — you should see
window.__NOTUR__andbridge.jsscript tags - Run
php artisan notur:list— should show no extensions installed - Open the browser console — you should see
[Notur] Bridge runtime v1.0.0 initialized
Uninstalling Notur
- Remove all extensions:
php artisan notur:listthenphp artisan notur:removefor each - Restore backed-up files (the installer creates
.notur-backupcopies) - Rebuild frontend:
bun run build:production - Remove Notur tables:
php artisan migrate:rollback(the 3 notur tables) - Remove composer package:
composer remove notur/notur - Remove directories:
rm -rf notur/ public/notur/
Compatibility
| Component | Supported Versions |
|---|---|
| Pterodactyl Panel | v1 canary / 1.11.x |
| PHP | 8.2, 8.3 |
| Node.js | 22+ |
| MySQL | 8.0+ |
| MariaDB | 10.6+ |