Native to Native Migration

Guide for migrating from native Pterodactyl installation to native Hydrodactyl installation

Migrating from Pterodactyl (Native → Native)

Once you switch to Hydrodactyl, switching back to Pterodactyl is not supported and may cause errors as Hydrodactyl modifies the Pterodactyl Database Schema. Provided below is how you can make a backup of your Panel Database if you need to switch back. It is also recommended that you make a backup of the Pterodactyl folder aswell if anything goes wrong during migration. (Replace panel with the database name you use)

# If using MySQL
mysqldump -u root -p --opt panel > ./panel.sql

# If using MariaDB
mariadb-dump -u root -p --opt panel > ./panel.sql

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

  1. Install a Node Version Manager

    curl -o- https://fnm.vercel.app/install | bash
  2. Install Node 22

    fnm install 22
  3. Navigate to the directory where your current Pterodactyl panel is installed

    cd /var/www/pterodactyl
  4. Put the panel into maintenance mode

    php artisan down
  5. Download and extract the latest Hydrodactyl release:

    curl -L https://github.com/blueprintframework/hydrodactyl/releases/latest/download/panel.tar.gz | tar -xzv
  6. Set proper permissions:

    chmod -R 755 storage/* bootstrap/cache
  7. Install PHP dependencies:

    composer install --no-dev --optimize-autoloader
  8. Clear cached views and configuration:

    php artisan view:clear
    php artisan config:clear
  9. Run the database migrations:

    php artisan migrate --seed --force
  10. Set ownership to the web server user:

    chown -R www-data:www-data /var/www/pterodactyl/*
  11. Restart the queue worker:

    php artisan queue:restart
  12. 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/
  13. Bring the panel back online:

    php artisan up

🎉 Boom! Your panel is now migrated to Hydrodactyl!