Native to Native Migration
Guide for migrating from native Pterodactyl installation to native Pyrodactyl installation
Migrating from Pterodactyl (Native → Native)
Before making any changes, back up your entire panel directory and database. Pyrodactyl modifies the database schema, and rolling back to Pterodactyl may result in data loss or instability.
Prerequisites
- Root or sudo access on your Linux server
- Latest NodeJS LTS installed
- Composer installed globally
- MySQL database access and credentials
- Backup of
.env
and your current database
Migration Steps
-
Install a Node Version Manager
curl -o- https://fnm.vercel.app/install | bash
-
Install Node 22
fnm install 22
-
Navigate to the directory where your current Pterodactyl panel is installed
cd /var/www/pterodactyl
-
Put the panel into maintenance mode
php artisan down
-
Download and extract the latest Pyrodactyl release:
curl -L https://github.com/pyrohost/pyrodactyl/releases/latest/download/panel.tar.gz | tar -xzv
-
Set proper permissions:
chmod -R 755 storage/* bootstrap/cache
-
Install PHP dependencies:
composer install --no-dev --optimize-autoloader
-
Clear cached views and configuration:
php artisan view:clear php artisan config:clear
-
Run the database migrations:
php artisan migrate --seed --force
-
Set ownership to the web server user:
chown -R www-data:www-data /var/www/pterodactyl/*
-
Restart the queue worker:
php artisan queue:restart
-
Build the frontend assets:
npm install -g corepack@latest corepack enable pnpm pnpm i --frozen-lockfile && pnpm run ship chmod -R 755 storage/* bootstrap/cache/
-
Bring the panel back online:
php artisan up
🎉 Boom! Your panel is now migrated to Pyrodactyl!