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 <[email protected]>
68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
# 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`) for `npm run brand:export` (runs on `prebuild`)
|
|
- LAN SSH to Proxmox host **192.168.11.12** (r630-02)
|
|
- Sibling repo layout: `../proxmox` beside `miracles_in_motion`, or set `MIM_ROOT`
|
|
|
|
## Build and deploy
|
|
|
|
From the **proxmox** repo (operator LAN):
|
|
|
|
```bash
|
|
./scripts/mim4u-deploy-to-7810.sh
|
|
```
|
|
|
|
Or manually:
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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):
|
|
|
|
```bash
|
|
./scripts/verify/smoke-mim4u-deploy.sh --lan
|
|
```
|
|
|
|
**Evidence pack** (miracles_in_motion repo, needs Chrome + Playwright):
|
|
|
|
```bash
|
|
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 FQDNs
|
|
- `docs/04-configuration/E2E_ENDPOINTS_LIST.md` — public routing verification
|