< Posts

How To Build This Website

By the end of this guide, you will know every step that went into building the foundation of this website.

And if you are building your own website, I'd love to look at it once you're done with this guide! 😊

Overview

I'm using:

  • My Windows laptop,
  • namecheap.com for my domain name ("vilz.gg"),
  • vultr.com for my Ubuntu server, and
  • nginx and Express.js to run that server.
You can expect these kinds of costs:
  • <1 $/month (around 10 $/year) for a ".com" domain
    (up to 6 $/month for a domain like ".ai")
  • 6 $/month for a server with 25 GB of storage

Step 1: Domain and Server

Follow Derek Sivers' guide to Tech Independence, with the following modifications:
  1. "Register a domain"

    → My advice is: Feel free to register your domain name anywhere you like.

    • Make sure to compare prices across websites, and to google the website of your choice to see if it's legit.
    • Think hard if you really need a fancy domain ending (like ".gg" or ".ai"). Who are you trying to impress? And is it really worth paying a surcharge of 60 $/year for the rest of your life?
  2. "Create storage"

    → Skip this part if you feel like you can do without encrypted storage (I did).

  3. "Create your server"

    → Around step 5, use "Ubuntu 23.10 x64" instead of OpenBSD

  4. "SSH into root, and get my script"

    → Stop after step 8 ("Congratulations! You're inside a remote computer!"), and don't use his script

  5. Skip all other steps in this guide except for "FreeFileSync"

Step 2: Setting up Node.js

Use this DigitalOcean tutorial, including their Initial Server Setup guide. The guides are written for Ubuntu 22.04, but it seems to be similar enough to Ubuntu 23.04, which you're using.

Additionally, I decided to make pm2 restart the Node.js application every time a relevant file is changed:

pm2 start app.js --watch app.js --watch .env --watch public --watch server --watch views

Step 3: Use Node js on your local Windows PC

Follow this tutorial.

The Final Result

When you're done with all of these steps,
  • you can edit your website files on your local Windows PC,
  • then update them on the server using just one click on FreeFileSync,
  • and your server restarts automatically because of the file changes.


  • Thank you for reading. Any thoughts on this post? I'd love to hear them!