Nginx Configuration

Want to use a domain on your dashboard? Here's the guide :)

Video example of the below guide

Prerequisites

sudo mkdir -p /var/www
cd /var/www
git clone https://github.com/YouSeeMeRunning2/DrakoBot.git # You won't be able to use my repository
sudo mv /var/www/DrakoBot /var/www/drakobot # Ensure the folder is named drakobot

1. Create A Records

Create the following DNS A records:

  • Host: dashboard

  • Value: <Server IP>


2. Install NVM and Node.js 18.20.7

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
\. "$HOME/.nvm/nvm.sh"
nvm install 18
node -v

3. Install Nginx

sudo apt update
sudo apt install -y nginx

4. Create Nginx Configuration

Edit the Nginx configuration file:

sudo nano /etc/nginx/sites-available/dashboard.youseemerunning.com

Add the following configuration:

server {
    listen 80;
    server_name dashboard.youseemerunning.com;

    location / {
        root /var/www/drakobot/dashboard/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://localhost:3001;
        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;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";
    add_header Referrer-Policy "strict-origin-when-cross-origin";
}

5. Enable the Site and Restart Nginx

sudo ln -s /etc/nginx/sites-available/dashboard.youseemerunning.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

6. Install SSL Certificate

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d dashboard.youseemerunning.com

7. Edit the Bot Configuration

Run the following commands

cd /var/www/drakobot
sudo nano config.yml

Update the bot settings with the following values:

  • URL: https://dashboard.youseemerunning.com

  • Redirect: https://dashboard.youseemerunning.com/api/auth/callback


8. Run the Dashboard

cd /var/www/drakobot
npm install
npm run start

Your Drako Bot dashboard should now be up and running!

Last updated