Basic Downloads
FaxDesk
FaxDocs
FaxUp
FaxTrack
WebForms
WLink
Bot Portfolio
Discord Whitelist
Markdown Guide
Weblutions Documentation > Product Documentation > FaxDesk
FaxDesk
FaxDesk is aimed to bring support to one location. With a full form creation and ability to view submitted forms FaxDesk makes it easy. Find your self always posting big articles? Bring it all to one location with custom categories too. FaxDesk just makes your support life easier!
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 FaxDesk can run smoother and more efficient on a Linux system.
Step 1 - Installing a LEMP stack
This step will cover installing most of the requirments needed to operate FaxDesk. 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 FaxDEsk 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;
}
error_page 502 /502.html;
location = /502.html {
root /home/faxstore/public;
}
}
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 FaxDesk to /home/faxdesk
.
Now in a screen session navigate to your FaxDesk directory with the CD command.
cd /home/faxdesk`
Install the packages required to run FaxDesk
npm i
Step 5 - Configuration and Startup
Now edit the config.json
to your likeing. 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 |
---|---|---|---|
siteName | The site name. | [String][string] | "FaxDesk" |
processPort | The port you want the Node process to operate on. This must be the same as your Nginx configuration. | [Number][number] | 3000 |
siteDescription | The description of your website. | [String][string] | "Demo FaxDesk" |
siteThemeColor | The HEX color value to make your sitre. This color is used in various places. | [String][string] | "#7289da" |
siteLogo | The file name for the website logo. Some may find it easier to replace the file itself. | [String][string] | "/assets/logo.png" |
domain | The domain that your site is operating on. Ensure ther's no trailing forwardslash. | [String][string] | "http://localhost:3000" |
tokens
Variable Name | Description | Type | Default Value |
---|---|---|---|
discordBotToken | The Discord bot token. Used for user fetching and logs. | [String][string] | "" |
oAuth2ClientId | The application Id. Used fore logins. | [String][string] | "" |
oAuth2ClientToken | The Client Secret of the application. Used for logins. | [String][string] | "" |
faxesLicenseKey | The license key to authorise the application. | [String][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][string] | "localhost" |
username | The username for the SQL server. | [String][string] | "root" |
password | The password for the SQL server. | [String][string] | "" |
database | The database naed fore the SQL server to use. | [String][string] | "faxdesk" |
homePage
Variable Name | Description | Type | Default Value |
---|---|---|---|
titleOne | The top home page title. | [String][string] | "Need help? We got you fam!" |
descriptionOne | The text displayed under the first title. | [String][string] | "" |
titleTwo | The title displayed above the bottom buttons. | [String][string] | "Other ways to find us." |
bottomButtons | An array for buttons that are displayed at the bottom of the page. | [Array][array] | [] |
bottomButtons.title | The title of the button. | [String][string] | "" |
bottomButtons.description | The description text used on the button. | [String][string] | "" |
bottomButtons.link | The link that the button directs too. Can be external or internal. | [String][string] | "" |
bottomButtons.image | The image link used for the button. | [String][string] | "" |
autoReplies
Variable Name | Description | Type | Default Value |
---|---|---|---|
autoReplies | The auto replies for support requests. | [Array][array] | [] |
autoReplies.title | The title of the autop reply. | [String][string] | "" |
autoReplies.content | Content that will be placed into the reply text box when clicked. | [String][string] | "" |
discordConfig
Variable Name | Description | Type | Default Value |
---|---|---|---|
useDiscordChannelLogs | Whether to enable Discord channel logs. | [Boolean][bool] | false |
loggingChannelId | The Discord channel Id used to log everything. | [String][string] | "CHANNEL_ID" |
[array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
[string]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
[hexcol]: https://www.w3schools.com/colors/colors_picker.asp
[bool]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean
[number]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
[adminmanage]: https://docs.faxes.zone/overflowbot/customperms/
Review this page
1 recommend this page