OpenHeliactyl / Heliactyl

The latest supported & maintained version of Heliactyl - a simple, free & open source Pterodactyl dashboard.
MIT License
36 stars 23 forks source link

Heliactyl


Heliactyl • The modern client panel for Pterodactyl

All features:

What happened to 13.x and 15.x?

Due to major issues with both versions, we've decided to come back to v12 and recontinue it The latest versions will be on v12 now

Warning

We cannot force you to keep the "Powered by Heliactyl" in the footer, but please consider keeping it. It helps getting more visibility to the project and so getting better. We won't do technical support for installations without the notice in the footer. We may DMCA the website in certain conditions. Please do keep the footer though.


Install Guide

1. Configuring heliactyl

Pterodactyl method (easiest)

Warning: You need Pterodactyl already set up on a domain for this method to work

1.1 Upload the file above onto a Pterodactyl NodeJS server Download the egg from Parkervcp's GitHub Repository

1.2 Unarchive the file and set the server to use NodeJS 16

Direct method

1.1 Install nodejs16, it's recommended to install it with nvm :

1.2 Download heliactyl files in /var/www/heliactyl :

1.3 Installing required node modules (and build dependencies to avoid errors) :

After configuring settings.json, to start the server use node index.js
To run in the background use pm2 (see pm2 section) or screen
screen -S heliactyl node index.js
To detach from the screen do ctrl + A + D
To reatach screen -R heliactyl
To stop ctrl + C

2. Setting up webserver

2.1 Configure settings.json (specifically panel domain/apikey and discord auth settings for it to work)

2.2 Start the server (Ignore the 2 strange errors that might come up)

2.3 Login to your DNS manager, point the domain you want your dashboard to be hosted on to your VPS IP address. (Example: dashboard.domain.com 192.168.0.1)

2.4 Run apt install nginx && apt install certbot on the vps

2.5 Run ufw allow 80 and ufw allow 443 on the vps

2.6 Run certbot certonly -d <Your Heliactyl Domain> then do 1 and put your email

2.7 Run nano /etc/nginx/sites-enabled/heliactyl.conf

2.8 Paste the configuration at the bottom of this and replace with the IP of the pterodactyl server including the port and with the domain you want your dashboard to be hosted on.

2.9 Run systemctl restart nginx and try open your domain.

Nginx Proxy Config

server {
    listen 80;
    server_name <domain>;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl http2;
location /afkwspath {
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_pass "http://localhost:<port>/afkwspath";
}

    server_name <domain>;
ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
    ssl_session_cache shared:SSL:10m;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
location / {
      proxy_pass http://localhost:<port>/;
      proxy_buffering off;
      proxy_set_header X-Real-IP $remote_addr;
  }
}

Updating

From Heliactyl v11/v13 or Dashactyl v0.4 to Heliactyl v12:

  1. Store certain things such as your api keys, discord auth settings, etc in a .txt file
  2. Download database.sqlite
  3. Delete all files off the server (or delete and remake the folder if done in ssh)
  4. Upload the latest Heliactyl v12 release and unzip it
  5. Upload database.sqlite and reconfigure settings.json

From Heliactyl v15:

Move to a newer Heliactyl v12 release:

  1. Delete everything except settings.json, database.sqlite
  2. Put the files that you didn't delete into a zip file
  3. Upload the latest Heliactyl v12 release and unzip it
  4. Remove settings.json and database.sqlite
  5. Unzip the zip with your old settings.json and database.sqlite

Running in background / on startup, on a server instead of within Pterodactyl

Installing pm2:

Starting the Dashboard in Background:

Making the dashboard runs on startup:

To stop a currently running Heliactyl instance, use pm2 stop heliactyl

Legacy Deprecation Notice

Heliactyl v6, v7, v8, v9, v10, v11, v13, v15 is now deprecated as listed in our Discord and should not be used. Please update to Heliactyl v12.