Noir Cyber Legion
Deployment

Deploying to a VPS

Run the website on your own Linux server with Node.js, a process manager, and a reverse proxy.

12 min readUpdated 2026-09

Server setup

These steps assume a Linux server with SSH access. Install Node.js 20 LTS and a process manager such as PM2.

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g pm2

Build and run

git clone <your-repository> noir-website
cd noir-website
cp .env.example .env.local   # then edit values
npm install
npm run build
pm2 start npm --name noir-website -- start
pm2 save

Reverse proxy and HTTPS

Use a reverse proxy such as Nginx or Caddy to forward traffic from ports 80/443 to the application on port 3000 and to terminate TLS.

/etc/nginx/sites-available/noir-websitenginx
server {
  server_name example.com;

  location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Obtain a certificate with Let's Encrypt (for example using certbot) and reload the proxy.

Updating the site

cd noir-website
git pull
npm install
npm run build
pm2 restart noir-website