# 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 22.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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://theodor-work.gitbook.io/dravix-theme/getting-started/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
