Real-time GPU availability monitoring for DigitalOcean with push notifications. React frontend + Node.js backend.
- Real-time monitoring of DigitalOcean GPU availability
- Push notifications when GPUs become available
- Support for L40S, H100-1X, and H100-8X GPU instances
- Configurable regions and user-friendly interface
-
Clone and setup:
git clone <repository-url> cd gpu-cap-ui
-
Backend setup:
cd backend npm install -
Create
.envfile:PORT=3001 DO_API_TOKEN=your_digitalocean_api_token VAPID_PUBLIC_KEY=your_vapid_public_key VAPID_PRIVATE_KEY=your_vapid_private_key VAPID_SUBJECT=mailto:your-email@example.com REGIONS_TO_CHECK=nyc1,sfo3,fra1
-
Generate VAPID keys:
npx web-push generate-vapid-keys
-
Frontend setup:
cd ../frontend npm install -
Run the application:
# Terminal 1 - Backend cd backend && npm run dev # Terminal 2 - Frontend cd frontend && npm start
| Variable | Description | Default |
|---|---|---|
DO_API_TOKEN |
DigitalOcean API token | Required |
VAPID_PUBLIC_KEY |
VAPID public key | Required |
VAPID_PRIVATE_KEY |
VAPID private key | Required |
REGIONS_TO_CHECK |
Regions to monitor | nyc1,sfo3,fra1 |
GET /api/health- Health checkGET /api/status- Current GPU availabilityPOST /api/status/check- Manual availability checkPOST /api/subscription- Subscribe to notificationsGET /api/subscription/:userId- Get subscription info
- Backend scheduler checks GPU availability every 100 seconds
- Uses DigitalOcean's capacity API to monitor regions
- Sends push notifications when GPUs become available
- Frontend provides interface for managing preferences
- API Errors: Verify DigitalOcean API token permissions
- Push Notifications: Check VAPID key configuration
- Rate Limiting: System includes delays between API calls
MIT License
