How to Install Pterodactyl on OpenSUSE Latest

Pterodactyl is a free, open-source game server management panel that allows you to easily manage your game servers. In this tutorial, we will show you how to install Pterodactyl on OpenSUSE Latest.

Step 1: Update the system

Before we begin with the installation, it is important to update the system to the latest version. To do this, run the following commands:

sudo zypper update

Step 2: Install Dependencies

To install Pterodactyl, we need to install some dependencies. Run the following command to install them:

sudo zypper install wget tar unzip mariadb mariadb-client mariadb-server git curl

Step 3: Install NodeJS

Pterodactyl requires NodeJS to run. Let's install the latest version of NodeJS using nvm (Node Version Manager).

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

After installation, close and reopen your Terminal or run the following command to make it available:

source ~/.bashrc

Now, we can install the latest version of NodeJS:

nvm install 16

And set it as the default:

nvm alias default 16

Step 4: Create a New User and Database for Pterodactyl

Pterodactyl requires a new user and database. To create them, run the following commands:

sudo mysql -u root
CREATE DATABASE pterodactyl;
CREATE USER 'pterodactyl'@'localhost' IDENTIFIED BY 'your_strong_password_here';
GRANT ALL PRIVILEGES ON pterodactyl.* TO 'pterodactyl'@'localhost';
FLUSH PRIVILEGES;
exit;

Make sure to replace 'your_strong_password_here' with a secure password.

Step 5: Install Docker and Docker Compose

Pterodactyl requires Docker and Docker Compose to function properly. You can install them using the following commands:

sudo zypper install docker docker-compose

Start the Docker service:

sudo systemctl start docker
sudo systemctl enable docker

Step 6: Download and Install Pterodactyl

We are now ready to download and install Pterodactyl. Run the following commands to clone the Pterodactyl source code:

sudo mkdir -p /var/www/pterodactyl
sudo chown -R $USER:$USER /var/www/pterodactyl
cd /var/www/pterodactyl
git clone https://github.com/pterodactyl/panel.git .
chmod -R 755 storage/* bootstrap/cache/
cp .env.example .env
php artisan key:generate --force

Next, we need to install the required PHP packages:

sudo zypper install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-json php-bcmath

After that, we can install Pterodactyl:

composer install --no-dev --optimize-autoloader

Step 7: Configure Pterodactyl

Open the .env file with your favorite text editor:

nano .env

Update the following variables with the appropriate values:

APP_URL=http://your_domain_or_ip
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=pterodactyl
DB_USERNAME=pterodactyl
DB_PASSWORD=your_strong_password_here

Save and close the file.

Next, run the following command to migrate your database:

php artisan migrate --seed --force

Step 8: Install the Pterodactyl Daemon

The Pterodactyl Daemon is responsible for managing your game servers. Run the following commands to install it:

cd /var/www/pterodactyl
sudo mkdir -p /srv/daemon-data
curl -L https://github.com/pterodactyl/daemon/releases/latest/download/daemon.tar.gz | tar xzv --strip-components=1
npm install --only=production --no-audit --no-fund

Step 9: Configure the Pterodactyl Daemon

Open the config/core.json file with your favorite text editor:

nano /srv/daemon-data/config/core.json

Update the following values with the appropriate values:

"panelLocation": "http://your_domain_or_ip",
"token": "your_random_key_here",

Save and close the file.

Step 10: Start the Pterodactyl Daemon

Finally, start the Pterodactyl Daemon:

sudo node /src/index.js

Congratulations! You have successfully installed Pterodactyl on OpenSUSE Latest. You can now log in to the panel by visiting http://your_domain_or_ip in your web browser.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!