Patch-based Installation

Nova can be installed in two different ways: patch-based and manually. This page documents the patch-based installation method.

Patch-based installation involves uploading one patch file and applying it onto the panel.

Remember that Nova edits a lot of the panel files, and as such is likely incompatible with any changes that you may have made to the panel beforehand, including other addons.

Put the panel into maintenance mode

Start off by putting the panel into maintenance mode:

php artisan down

This will prevent anyone from using the panel, so that you can install Nova without other worries.

Install Node.js

If you're using Debian-based or Ubuntu-based distributions, run the following commands:

curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt-get install -y nodejs
corepack enable

On other distributions, install Node.js using the distribution's package manager.

Apply patch

Using an SFTP client of your choice, upload the PanelEdit.patch file to the panel folder. If you're trying to update Nova to a newer version, you can use the other patch files that are provided with Nova. For example, if you're updating from Nova v1.1.1 to v1.2.0, you can use the PanelEdit-from-v1.1.1.patch file to simplify the process.

Then, run the following command from the Pterodactyl panel folder:

patch -Np1 -i PanelEdit.patch

Remember to replace the filename as appropriate if you're trying to update Nova.

Once that's done, copy the version.data file to the public/nova folder. This file is used by the version checker and should not be modified.

Build panel assets

Migrate the database, and set up a link to the public storage:

php artisan migrate
php artisan storage:link

The public storage is used by the avatar system in order to easily serve user-provided avatars.

Now, it's time to clean caches, download Node dependencies, and build the panel assets:

php artisan route:clear
php artisan view:clear
yarn install
NODE_OPTIONS=--openssl-legacy-provider yarn build:production

Set permissions

Web servers need to access the panel files in order to serve them. If you're using Debian or its derivatives, you can simply run the following command:

chown -R www-data:www-data /var/www/pterodactyl/*

This will change the ownership of the panel to the www-data user. If you're using other distributions, the user may be different. For example, CentOS and Arch Linux are likely going to use the nginx user instead.

Bring the panel back up

Congratulations, you have successfully installed Nova! You can now deactivate maintenance mode by running the following command:

php artisan up

And you should be all set!

Remember, if you have any issues with Nova, feel free to reach out to us over Discord.