User-centric dashboard for deploying, managing, and monitoring blockchain nodes and infrastructure. Built on Next.js 14 with the App Router.
- Node.js: v20 (see .nvmrc)
- Yarn: Used for dependency management
-
Clone the repository:
git clone git@github.com:nodexeus/web.git cd web -
Install dependencies:
yarn install
-
Copy the environment template and fill in values:
cp .env.template .env.local
-
Development:
yarn dev
-
Production build:
yarn build && yarn start
The project starts on http://localhost:3000.
Copy .env.template to .env.local and configure:
| Variable | Description |
|---|---|
NEXT_PUBLIC_API_URL |
gRPC-Web API endpoint |
NEXT_PUBLIC_MQTT_URL |
MQTT WebSocket URL for real-time events |
NEXT_PUBLIC_STRIPE_KEY |
Stripe publishable key (optional) |
NEXT_PUBLIC_VERCEL_ENV |
Deployment environment (production, development) |
NEXT_PUBLIC_SHORT_SHA |
Git commit SHA — injected automatically by CI |
See Next.js environment variable docs for details.
Build:
docker build \
--build-arg NEXT_PUBLIC_VERCEL_ENV=production \
--build-arg NEXT_PUBLIC_API_URL=<value> \
--build-arg NEXT_PUBLIC_MQTT_URL=<value> \
--build-arg NEXT_PUBLIC_SHORT_SHA=$(git rev-parse --short HEAD) \
-t nodexeus/bv-web:latest .Run:
docker run -p 3000:3000 nodexeus/bv-web:latestPushes to develop and main trigger bv-web-build.yml, which builds and pushes images to Docker Hub for three environments: demo, development, and production.
- Next.js 14 — App Router, server components, API routes
- React 18 — UI framework
- TanStack Query — Server state management
- Zustand — Client state management
- Tailwind CSS + shadcn/ui — Styling
- nice-grpc-web — gRPC-Web client
- MQTT.js — Real-time messaging