Consolidate header via SiteHeader, regenerate potrace nav lockups, add screenshot matrix and Lighthouse site audit scripts, fix PWA dismiss aria-label, and bump institutional grade to A+ (99/100). Co-authored-by: Cursor <cursoragent@cursor.com>
2.1 KiB
MIM4U production deployment (Proxmox)
Production for https://mim4u.org is served from VMID 7810 (mim-web-1 @ 192.168.11.37) behind NPMplus. Azure Static Web Apps and Azure Functions are not used.
Prerequisites
- Node.js 22.x, npm 10+
- ImageMagick (
convert) fornpm run brand:export(runs onprebuild) - LAN SSH to Proxmox host 192.168.11.12 (r630-02)
- Sibling repo layout:
../proxmoxbesidemiracles_in_motion, or setMIM_ROOT
Build and deploy
From the proxmox repo (operator LAN):
./scripts/mim4u-deploy-to-7810.sh
Or manually:
cd ~/projects/miracles_in_motion
npm run build
# then tar dist/ into VMID 7810 /var/www/html (see deploy script)
The deploy script wipes /var/www/html/* before extract to avoid stale PWA/JS bundles.
Verify
curl -I -H 'Host: mim4u.org' http://192.168.11.37/
curl -I -H 'Host: mim4u.org' http://192.168.11.37/brand/logo-horizontal-nav.svg
Post-deploy smoke (proxmox repo):
./scripts/verify/smoke-mim4u-deploy.sh --lan
Evidence pack (miracles_in_motion repo, needs Chrome + Playwright):
npm run evidence:full
Public HTTPS: NPMplus proxy hosts for mim4u.org, www.mim4u.org, secure.mim4u.org, training.mim4u.org → 192.168.11.37:80.
CI (GitHub Actions)
| validate.yml | Pull requests | type-check, tests, header WCAG audit, build |
| deploy.yml | Push to main | validate + dist artifact upload (14-day retention) |
| pages-preview.yml | Manual only | Optional GitHub Pages preview (no mim4u.org CNAME) |
| a11y-live.yml | Weekly / manual | Lighthouse accessibility on live mim4u.org |
Canonical production traffic is Proxmox 7810, not GitHub Pages.
API backend
/api/* on mim4u.org is proxied by nginx on 7810 to VMID 7811 (mim-api-1 @ 192.168.11.36:3001). API deployment is separate from this frontend repo.
Related proxmox docs
docs/04-configuration/ALL_VMIDS_ENDPOINTS.md— VMIDs and FQDNsdocs/04-configuration/E2E_ENDPOINTS_LIST.md— public routing verification