WDT is a Website Deployment Tool using Express, Nginx and SSL with Let's Encrypt.
It uses
- n -- Node.js version manager
- Express.js -- Web framework for Node.js
- Nginx -- HTTP and reverse proxy server
- pm2 -- Daemon Process Manager for Node.js
- ufw -- program for managing a netfilter firewall
- certbot -- client for the Let's Encrypt CA with a plugin for nginx
- crontab -- cron job creator and scheduler
- Clone this repository
git clone https://github.com/trimclain/wdt
- Run the installation
make install
This part is required to setup the connection between your domain and your linux server. 0. Go to your domain name registrar's website (e.g. namecheap.com) and sign in.
- Go to Dashboard and choose your domain to manage
- Go to the Advanced DNS tab
- Add a new "A Record", as host add "@" (stands for root), as value add the ip of the server you will be hosting on, TTL leave as "automatic"
NOTE: You can get the ip of your server withcurl ifconfig.me
- Do the same for host "www"
Here's a demo showing full deployment of one of my projects. This was done after the configuration above.