Files
miracles_in_motion/docs/deployment/PROXMOX_DEPLOYMENT.md
T
defiQUGandCursor 58e8f9fdb9 Complete MIM4U A+ evidence: potrace SVG, SiteHeader, and full-site a11y.
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]>
2026-06-15 21:30:20 -07:00

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