MineBench UI is the public web surface of the MineBench ecosystem. It is the repository responsible for first impression, product narrative, downloads, dashboard access, leaderboard exposure, and the web-facing onboarding path into the MineBench stack.
In architectural terms, this module is the presentation boundary. It should be rich in product context and light on privileged logic.
- landing and marketing surfaces
- public dashboard and statistics views
- download and release discovery flows
- whitepaper and ecosystem navigation
- browser-facing wallet and account entry points
- server-side API routes that aggregate non-public provider calls for the web app
This repository should explain the product clearly while keeping secrets, operator credentials, and backend-only logic out of the browser surface.
That means:
- all
NEXT_PUBLIC_*values must be safe for client exposure - server-side tokens must remain in server-only environment variables
- release and provider integrations must run behind API routes or backend services
- Next.js
- React
- TypeScript
- Tailwind CSS
- Supabase
Install dependencies:
npm installCreate a local environment file:
cp .env.local.example .env.localStart the development server:
npm run devThe app is served on http://localhost:3000.
npm run build
npm startUse Docker Desktop on Windows from the MineBench-UI directory. The script reads
browser-safe NEXT_PUBLIC_* build args from .env.local.
Validate the image locally:
.\scripts\build-and-push-windows-docker.ps1 -Load -Tags latest,v0.1.5.6
docker run --rm -p 3099:3000 docker.io/karbivskyi/minebench-ui:latestBuild and push the production image to Docker Hub:
docker login
.\scripts\build-and-push-windows-docker.ps1 -Push -Tags latest,v0.1.5.6The default target is docker.io/karbivskyi/minebench-ui.
Use browser-safe values only for NEXT_PUBLIC_* variables.
Server-side secrets, including any GitHub release token used by API routes, must remain server-only and must never be exposed through client-rendered code.
All repository documentation lives under docs/.
Key entry points:
- never commit
.env.local - never expose service-role keys in client bundles
- never hardcode GitHub personal access tokens in tracked source
- keep server-only secrets limited to API routes or deployment-time injection
MIT