vitorx86.dev (NoBuffer Site)
~/vitorecomp/nobuffer-site (master)
[Python]Source repository for vitorx86.dev — interactive 3D WebGL robot arm, constellation canvas, and terminal design system.
pugtailwindthreejsgcp
# synced from github.com/vitorecomp/nobuffer-site
Nobuffer Site (vitorx86)
All the files on the build folder are automatically generated.
Collection of my static sites code. The source files are compiled using Webpack and deployed via Cloud Build to a Google Cloud Storage bucket.
Stack
The tech stack used on the websites is:
- NodeJs
- Webpack
- Pug (Jade)
- Tailwind CSS
Sites
The code for the following sites is in this repo:
- My Main Webpage
- My Portfolio Webpage (
me.vitorx86.dev— not live yet) - Product Benchmark Webpage (
bench.vitorx86.dev— not live yet)
Directory Structure
.github/workflows: GitHub Actions workflow files (website build, nginx deploy).website: Source code for the main website (Pug, Tailwind, Webpack). Includeswebsite/cloudbuild.yaml, the Google Cloud Build configuration.build: Compiled site output — automatically generated, do not edit by hand.maintenance: Static maintenance page.reverse-proxy: Nginx configuration files for subdomains.infra: Terraform for the GCP infrastructure (load balancer module, prod environment).helper: Blender/Python tooling behind the site’s robot model (robot.glb) — seehelper/README.md.assets: Source image files (.xcf) for site artwork.
CI/CD Configuration
This project uses GitHub Actions with two workflows:
build-website.yml: triggers Google Cloud Build (website/cloudbuild.yaml) to compile the site and publish it to the GCS bucket.deploy-nginx-sites.yml: copies thereverse-proxyconfigs to the server over SSH, validates and reloads nginx, and issues certificates.
Required GitHub Secrets
GCP_SA_KEY: A JSON service account key with permissions to run Cloud Build and access the target GCS bucket.HOST,USERNAME,KEY: SSH connection details for the nginx deploy workflow.
Required GitHub Variables
GCS_BUCKET_NAME: The name of the Google Cloud Storage bucket where the static site files will be stored.
Local Development
To run the main website locally:
-
Navigate to the
websitedirectory:cd website -
Install dependencies:
npm install -
Start the development server:
npm run devThis runs webpack-dev-server with hot reloading.