Basic Downloads
FaxDesk
FaxStore Legacy
FaxDocs
FaxUp
FaxTrack
WebForms
The Bot Portfolio
Discord Whitelist
FAXES Markdown Guide
Weblutions Docs > Product Documentation > The Bot Portfolio
The Bot Portfolio
The Bot Portfolio is aimed to bring all of your bots to one location. With a list of bots and the ability to view bot developers bots, this website makes finding bots easy. Find your-self always looking for new things to add to your server? Find it all in one location with custom bots. The Bot Portfolio just makes your development skills shine!
To have The Bot Portfolio installed for you please visit https://support.faxes.zone
Requirements:
-
Server to host the site
-
Nginx, Apache or similar web-server software
-
Node.Js
-
MySQL Server
-
Domain
-
SSL
If you don't have any of the above, it's okay, that's also in the guide!
Installation ¶
This installation guide covers installing the requirments, if you already have the requirements skip to step Step 3 - Nginx Configuration.
The installation guide uses Ubuntu (Linux) as the method of installation as The Bot Portfolio can run smoother and more efficient on a Linux system.
Step 1 - Installing a LEMP stack ¶
This step will cover installing most of the requirements needed to operate The Bot Portfolio. We used this guide as reference.
This step is a quick run through of the installation. For detailed steps view the referenced guide.
Ensure your system is up to date and install Nginx
sudo apt update
sudo apt install nginx
Install MySQL Server
sudo apt install mysql-server
Setup your SQL server
sudo mysql_secure_installation
Step 2 - Installing Node & NPM ¶
View this guide for further detail.
Run the below commanmds by themselves and not together
sudo apt update
sudo apt install nodejs
sudo apt install npm
Step 3 - Nginx Configuration ¶
As The Bot Portfolio uses Node.Js to operate we need a proxy in Nginx so we can direct it to the webserver. In your Nginx confiuration file; /etc/nginx/sites-available/default
server {
server_name example.com; # Change domain to yours
location / {
proxy_pass http://localhost:3000; # Change the port if needed
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
}
}
Now restart Nginx
sudo systemctl restart nginx
Once saved use certbot to create an SSL.
Run below commands one by one. From this guide.
sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-nginx
sudo certbot --nginx -d example.com
Then pick the second option (2) to ensure everything is redirected to HTTPS.
Run sudo certbot renew --dry-run
to make sure your SSL auto-renews.
Step 4 - Installing packages. ¶
Extract your copy of The Bot Portfolio to /home/botportfolio
.
Now in a screen session navigate to your Bot Portfolio directory with the CD command.
cd /home/botportfolio`
Install the packages required to run The Bot Portfolio
npm i
Step 5 - Configuration and Startup ¶
Now edit the config.json
to your liking. Read below for what everything means.
Once configured run the below to start the application
node .
Configuration Variables ¶
siteInformation ¶
Variable Name | Description | Type | Default Value |
---|---|---|---|
processPort | The port you want the Node process to operate on. This must be the same as your Nginx configuration. | Number | 3000 |
domain | The domain that your site is operating on. Ensure there's no trailing forward slash. | String | "http://localhost:3000" |
adminUsers | A list of Discord IDs that can access the admin panel. | Array | "OWNER_IDS" |
apiSecret | The API secret to avoid API Abuse. | String | "API_SECRET_KEY" |
tokens ¶
Variable Name | Description | Type | Default Value |
---|---|---|---|
oAuth2ClientId | The application Id. Used fore logins. | String | "" |
oAuth2ClientToken | The Client Secret of the application. Used for logins. | String | "" |
faxesLicenseKey | The license key to authorize the application. | String | "" |
Generate the key at http://license.faxes.zone.
SQLInformation ¶
Variable Name | Description | Type | Default Value |
---|---|---|---|
host | The hostname for the SQL server. Leave as default if the SQL server is on the same machine. | String | "localhost" |
username | The username for the SQL server. | String | "root" |
password | The password for the SQL server. | String | "" |
database | The database name for the SQL server to use. | String | "botportfolio" |
Header ¶
These are the buttons to display on the navbar of the page.
Review this page