Getting Started
Please Read Before Proceeding
Only use this guide if you don't have a panel already. If you already have Pterodactyl installation, then follow the migration guide.
This Panel is designed to run on your own web server. You will need to have root access to your server in order to run and use this panel.
You are expected to understand how to read documentation to use this Panel. This panel does not exist as a drag-and-drop service to run your servers. It is a highly complex system requiring multiple dependencies and administrators willing to spend some time learning how to use it. If you expect to be able to install this with no understanding of basic linux system administration you should stop and turn around now.
Supported OSeS
Pterodactyl runs on a wide range of operating systems, so pick whichever you are most familiar with.
OpenVZ Support
Reviactyl does not support most OpenVZ systems due to incompatibilities with Docker.
If you are planning on running this software on an OpenVZ based system you will — most likely — not be successful.
| Operating System | Status | Notes | 
|---|---|---|
| Ubuntu 22.04 | Fully Supported | Requires additional repositories for PHP | 
| Ubuntu 24.04 | Fully Supported | MariaDB can be installed without the repo setup script. | 
| Debian 11 | Fully Supported | Reviactyl is tested primarily on Debian. This is our preferred choice of OS | 
| Debian 12 | Fully Supported | Reviactyl is tested primarily on Debian. This is our preferred choice of OS | 
| RHEL / Rocky Linux / AlmaLinux | Fully Supported | Extra repos are required. | 
Dependencies
- PHP 8.2or8.3(recommended) with the following extensions:cli,openssl,gd,mysql,PDO,mbstring,tokenizer,bcmath,xmlordom,curl,zip, andfpmif you are planning to use NGINX.
- MySQL 5.7.22and higher (MySQL8recommended) or MariaDB10.2and higher.
- Redis (redis-server)
- A webserver (Apache, NGINX, Caddy, etc.)
- curl
- tar
- unzip
- git
- composerv2
Example Dependency Installation
# Add "add-apt-repository" command
apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg
# Add additional repositories for PHP (Ubuntu 22.04)
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
# Add Redis official APT repository
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
# Update repositories list
apt update
# Install Dependencies
apt -y install php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-serverInstalling Composer
Composer is a dependency manager for PHP that allows us to ship everything you'll need code wise to operate the Panel. You'll need composer installed before continuing in this process.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composerDownload Files
mkdir -p /var/www/reviactyl
cd /var/www/reviactylcurl -Lo panel.tar.gz https://github.com/reviactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/Installation
Database Configuration
You will need a database setup and a user with the correct permissions created for that database before continuing.
# MariaDB (v11.0.0+)
mariadb -u root -p
# MySQL
mysql -u root -pIt's mandatory to use a secure password. Generate one at https://www.avast.com/random-password-generator
CREATE USER 'reviactyl'@'127.0.0.1' IDENTIFIED BY 'yourPassword';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'reviactyl'@'127.0.0.1' WITH GRANT OPTION;
exitcp .env.example .env
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
php artisan key:generate --forceBackup Your APP_KEY
Back up your encryption key (APP_KEY in the .env file).
If you lose it, all encrypted data is irrecoverable, even with database backups.
grep APP_KEY /var/www/reviactyl/.envEnvironment Configuration
php artisan p:environment:setup
php artisan p:environment:database
php artisan p:environment:mailDatabase Setup
php artisan migrate --seed --forceCreate your First User
php artisan p:user:makeSet Permissions
# If using NGINX, Apache or Caddy (not on RHEL / Rocky Linux / AlmaLinux)
chown -R www-data:www-data /var/www/reviactyl/*
# If using NGINX on RHEL / Rocky Linux / AlmaLinux
chown -R nginx:nginx /var/www/reviactyl/*
# If using Apache on RHEL / Rocky Linux / AlmaLinux
chown -R apache:apache /var/www/reviactyl/*Queue Listeners
Crontab Configuration
* * * * * php /var/www/reviactyl/artisan schedule:run >> /dev/null 2>&1Create Queue Worker
# /etc/systemd/system/reviq.service
[Unit]
Description=Reviactyl Queue Worker
After=redis-server.service
[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/reviactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.targetIf you are using RHEL, Rocky Linux, or AlmaLinux, replace redis-server.service with redis.service.
If you are not using Redis, remove the After= line.
sudo systemctl enable --now redis-server
sudo systemctl enable --now reviq.service Reviactyl
Reviactyl