# Novarix Networks Website Static Tailwind CSS website for `Novarix Networks`. The site is designed for this workflow: - edit locally - push changes to your internal `Gitea` repo - run one deploy command on the Ubuntu Nginx VM - serve the site from `/var/www/novarixnet.com/public` - expose it publicly through `Nginx Proxy Manager` ## Project Structure - `public/index.html` main website content - `public/styles.css` generated CSS served by Nginx after `npm run build` - `public/script.js` small navigation and reveal animation script - `public/assets/` logo and favicon assets - `src/styles.css` Tailwind source file - `EDITING.md` simple guide for changing content - `deploy.sh` server-side update script - `ops/nginx/novarixnet.com.conf.example` example Nginx config ## Important Tailwind Note This project uses the current Tailwind CSS v4 CLI setup: ```bash npm install tailwindcss @tailwindcss/cli ``` Tailwind builds `src/styles.css` into this generated file: ```text public/styles.css ``` Nginx serves the compiled `public/styles.css` file. It does not understand Tailwind directly, so the build step must run after the repo is pulled. ## Ubuntu 24.04 Nginx Server Setup Install Nginx and Git: ```bash sudo apt update sudo apt install -y nginx git sudo systemctl enable nginx sudo systemctl start nginx ``` Install Node.js 20 or newer. NodeSource currently supports Ubuntu 24.04 with Node 22, which is a good choice for this server: ```bash sudo apt install -y curl curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh sudo -E bash nodesource_setup.sh sudo apt install -y nodejs ``` After installing, confirm: ```bash node --version npm --version ``` Create the web directory and make your normal sudo user the owner: ```bash sudo mkdir -p /var/www sudo chown -R $USER:$USER /var/www ``` Clone the Gitea repo: ```bash git clone http://10.10.10.11:3000/kismet.hasanaj/novarix-networks-homepage.git /var/www/novarixnet.com ``` Install the website dependencies and build the CSS: ```bash cd /var/www/novarixnet.com npm install --no-package-lock npm run build ``` Use the Nginx config in: ```text ops/nginx/novarixnet.com.conf.example ``` The important Nginx root is: ```nginx root /var/www/novarixnet.com/public; ``` Enable the site: ```bash sudo ln -s /etc/nginx/sites-available/novarixnet.com /etc/nginx/sites-enabled/ sudo rm -f /etc/nginx/sites-enabled/default sudo nginx -t sudo systemctl reload nginx ``` ## Updating The Live Website After pushing changes to Gitea from your local machine, SSH into the Nginx VM and run: ```bash cd /var/www/novarixnet.com ./deploy.sh ``` The deploy script does this: ```bash git pull origin main npm install --no-package-lock npm run build sudo nginx -t sudo systemctl reload nginx ``` If the script is not executable yet, run this once: ```bash chmod +x /var/www/novarixnet.com/deploy.sh ``` ## Editing The Site For simple content changes, edit: ```text public/index.html ``` For visual styling changes, edit: ```text src/styles.css ``` The quick editing guide is: ```text EDITING.md ``` ## Nginx Proxy Manager Create a proxy host: - Domain: `novarixnet.com` - Scheme: `http` - Forward hostname/IP: private IP of the Ubuntu Nginx VM - Forward port: `80` - SSL: request certificate and force SSL - Enable `Block Common Exploits` ## Canonical Domain Recommended primary domain: ```text novarixnet.com ``` Redirect the other Novarix domains to the primary domain once DNS and Nginx Proxy Manager are ready.