Giter Club home page Giter Club logo

dashboardsy-front's Introduction

Dashboardsy

A modern client panel for the Pterodactyl® panel, made by Wrible Development.
Support Discord: https://discord.gg/zVcDkSZNu7

Screenshots

homepage
createserver

Setting up

This guide is only for debian-based distributions of GNU/Linux.
This is fairly easy to install, first install NodeJS 16 via the following commands (run them as root):

apt-get install curl git nginx software-properties-common 
curl -sL https://deb.nodesource.com/setup_16.x | bash - 

Then we need to install mysql, here's a guide to installing mariadb (skip the admin account step): https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04
Now create a new user and a database in mariadb using the following commands: First run mariadb -u root as the root user to open mariadb. Then enter the following, make sure to change the password to something secure and note it down somewhere.

CREATE DATABASE dashboardsy;
CREATE USER 'dashboardsy'@'localhost' IDENTIFIED BY 'thisispassword-changeit';
GRANT ALL PRIVILEGES ON dashboardsy.* TO 'dashboardsy'@'localhost';
FLUSH PRIVILEGES;

Then clone this repository locally using git: git clone https://github.com/Wrible-Development/Dashboardsy
Then cd to the directory where you cloned the repo
Run mv .env.example .env
Edit next.config.js (only edit the stuff in the env in next.config.js), .env and config.json according to your needs (don't change NEXTAUTH_URL_INTERNAL, only change NEXTAUTH_URL to the website url of your dashboard).
Go to discord.dev and create a new application, copy the client secret and client ID and put them in next.config.js
Now select the application on discord.dev and go to the Oauth2 tab and add a redirect url with the value https://dash.example.com/api/auth/callback/discord (make sure to change the domain from the example one)
Now set public/favicon.png to your logo.
Install the dependencies using npm and install pm2 and build the dashboard:

npm install
npm install -g pm2
npm run build

Finally to start the dashboard, run the following command pm2 start --name=dashboardsy npm -- start

Now do the following to configure nginx. systemctl start nginx
certbot certonly --nginx -d your.domain.com
cd /etc/nginx/conf.d
touch dashboardsy.conf
nano dashboardsy.conf
Now paste the following:

server {
    listen 80;
    server_name <domain>;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl http2;    
    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 TLSv1.2 TLSv1.3;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
    ssl_prefer_server_ciphers on;

    location / {
      proxy_pass http://localhost:3000/;
      proxy_buffering off;
      proxy_set_header X-Real-IP $remote_addr;
  }
}

Make sure to replace <domain> with the domain.
Now run systemctl restart nginx and you should be good to go.

Renewal System and Miner

Edit config.json, enable the dashboardsy api and set an api key, this api key should be over 32 characters and must not include exclamation marks, Also setup the renewal and/or miner config if you haven't done that already.
Then run echo 'curl -H "Authorization: DASHBOARDSY API KEY FROM CONFIG.JSON" "http://localhost:3000/api/admin/cron"' > /dashboardsy-cron.sh as root and then run chmod +x /dashboardsy-cron.sh also as root.
Then run EDITOR=nano crontab -e and paste the following line over there:

*/5 * * * * /dashboardsy-cron.sh

Mining

Users can mine using PhoenixMiner, LolMiner, XMRig etc. Users can start the miner using the following commands:
Address and UserID can be found in the panel credentials button on the sidebar.
Examples are shown as

  • Miner Name
    • Windows
    • Linux

Miners:

  • PhoenixMiner (GPU)
    • PhoenixMiner.exe -pool stratum+tcp://daggerhashimoto.eu.nicehash.com:3353 -wal Address.UserID -pass x -proto 4
    • ./PhoenixMiner -pool stratum+tcp://daggerhashimoto.eu.nicehash.com:3353 -wal Address.UserID -pass x -proto 4
  • XMRig (CPU) (Running as admin/root is recommended both on Windows and Linux.)
    • xmrig.exe -o stratum+tcp://randomxmonero.eu-north.nicehash.com:3380 -a rx -u Address.UserID -p x --nicehash
    • ./xmrig -o stratum+tcp://randomxmonero.eu-north.nicehash.com:3380 -a rx -u Address.UserID -p x --nicehash

A GUI Miner is coming soon.

Updating

Updating dashboardsy is simple, just cd to the directory where you cloned it, run

scripts/update.sh

That's it!

File Structure

.
├── components
│   ├── Card.js
│   ├── Layout.js
│   └── Table.js
├── lib
│   ├── routes
│   │   ├── userCoinsUpdate.js
│   │   ├── userInfo.js
│   │   └── userResourcesUpdate.js
│   ├── cache.js
│   └── useIsTouchDevice.js
├── pages
│   ├── api
│   │   ├── admin
│   │   │   ├── user
│   │   │   │   └── [userid].js
│   │   │   ├── cron.js
│   │   │   └── _middleware.js
│   │   ├── auth
│   │   │   └── [...nextauth].js
│   │   └── user
│   │       ├── createServer.js
│   │       ├── deleteServer.js
│   │       ├── editServer.js
│   │       ├── fixUser.js
│   │       ├── regenPass.js
│   │       └── shop.js
│   ├── _app.js
│   ├── index.js
│   └── _middleware.js
├── public
│   └── favicon.png
├── scripts
│   └── update.sh
├── config.json
├── db.js
├── LICENSE
├── next.config.js
├── package.json
├── README.md
├── theme.js
└── webhook.js

11 directories, 31 files

Disclaimer

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

Also note that in no way, shape or form is dashboardsy endorsed, owned, or otherwise affiliated with Pterodactyl®.

dashboardsy-front's People

Contributors

chirag350 avatar deepsourcebot avatar r-kjha avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.