The ZJU Mirror portal is a statically generated Astro site with small React islands for live mirror status, search, and interactive MirrorZ guides. Back-end JSON format: mirrorz-json
The supported toolchain is Node.js 22.23.2 and pnpm 10.15.1.
pnpm install --frozen-lockfile
pnpm devRun the complete source and artifact contract with:
pnpm run ciThe production image is an unprivileged NGINX server on port 8080. Build it
with docker build -t mirror-front ..
A successful CI run for a push to main scans and publishes a GHCR image as
latest and its seven-character commit abbreviation. Registry cleanup retains
the ten newest tagged image versions and removes unneeded untagged images.
- ZJU announcements remain under
news/. - Shared mirror guides come from the pinned
vendor/mirrorz-docssubmodule; the exact commit and license are recorded inmirrorz-docs.lock.json. - The browser consumes the same-origin
/mirrorz.jsonendpoint directly as MirrorZ Data Format v1.7. MirrorZ governs this public data contract. - Mirror file links are resolved from
site.urland each nativemirrors.urlvalue in that document. fancy-index/before.htmlandfancy-index/after.htmlare first-class build products consumed by origin NGINX.
UI Designer: Rynco Maekawa
