# Requirements

* Latest version of **Pterodactyl Panel**
* A fresh installation of the panel, following the [official documentation](https://pterodactyl.io/panel/1.0/getting_started.html)
* **Node.js 20.x** (exact version - do not use higher or lower)
* Yarn

## Fresh Install Without Data loss

To avoid theme issues caused by modified or outdated files, it's strongly recommended to start with a fresh Pterodactyl installation — but without losing your existing data.

Follow these steps carefully:

1. Backup current panel directory:

```bash
cd /var/www
mv pterodactyl pterodactyl_old
```

2. Create a fresh directory and download the latest panel:

```bash
mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl

curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/
```

3. Copy your existing configuration file

```bash
cp /var/www/pterodactyl_old/.env .env
```

4. Install production dependencies:

```bash
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
```

5. Regenerate the application key:

*<mark style="color:orange;">Pass this step</mark>*

6. Fix permissions:

```bash
# If using NGINX, Apache or Caddy (not on RHEL / Rocky Linux / AlmaLinux)
chown -R www-data:www-data /var/www/pterodactyl/*

# If using NGINX on RHEL / Rocky Linux / AlmaLinux
chown -R nginx:nginx /var/www/pterodactyl/*

# If using Apache on RHEL / Rocky Linux / AlmaLinux
chown -R apache:apache /var/www/pterodactyl/*
```

7. Restart the background queue worker:

```bash
systemctl restart pteroq.service
```

And that's all!

You now have a clean Pterodactyl installation with your previous settings and database fully preserved.

> If you run into issues during this process, feel free to contact me:
>
> Email: <contact@theodor.work>
>
> Discord: [discord.gg/invite/erm5B7ceRe](http://discord.gg/invite/erm5B7ceRe)
