Hosted Portal

The official hosted HarborNode portal UI is available at:

https://harbor-node-ports.vercel.app/

This is a frontend dashboard only.

It does not run your HarborNode runtime/backend automatically.

You must connect it to your own live backend API.


What This Portal Does

The hosted portal provides a browser UI for HarborNode operations:

  • View node health and runtime stats
  • Register and inspect services
  • Start, stop, and restart services
  • View service logs and runtime metadata
  • Manage artifact and service configuration workflows

It is designed to be used with a remotely hosted HarborNode API.


Architecture Overview

A standard production setup has three separate endpoints:

  • Docs: https://harbornode.vercel.app/
  • Hosted Portal UI: https://harbor-node-ports.vercel.app/
  • Your Backend API: https://your-backend-domain/api

This separation keeps frontend hosting simple while backend remains under your control.


How API Routing Works

Portal requests are sent to:

  • /api/health
  • /api/services
  • /api/registry
  • additional /api/* routes used by service management

If API base URL is missing, static hosts typically return HTML 404 pages.


Required Configuration (Vercel)

In your portal deployment, set this environment variable:

VITE_API_BASE_URL=https://your-backend-domain/api

Example:

VITE_API_BASE_URL=https://harbornode.onrender.com/api

After updating the variable, redeploy the portal.


Use any one of these backend hosting patterns:

  1. Render (quickest setup)
  2. VPS (best long-running control)
  3. Cloudflare Tunnel + local machine (good for testing/private networks)

Regardless of provider, your HarborNode process must remain online.


Step-by-Step Quick Start

  1. Deploy HarborNode backend and confirm it responds.
  2. Set VITE_API_BASE_URL in portal host.
  3. Redeploy portal.
  4. Open hosted portal URL.
  5. Verify node status and load service list.

Verification Checklist

Run backend check:

curl https://your-backend-domain/api/health

Expected shape:

{
  "name": "harbornode",
  "status": "alive"
}

Then open:

https://harbor-node-ports.vercel.app/

Healthy behavior:

  • Node shows Online
  • No repetitive /api/* 404 in browser console
  • Services and registry data load successfully

Common Problems

404 on /api/*

Cause: missing or wrong VITE_API_BASE_URL.

Fix: set correct backend API base URL and redeploy.

Unexpected token 'T' ... not valid JSON

Cause: portal received HTML error page instead of JSON.

Fix: point to real HarborNode API endpoint.

Slow first request

Cause: free backend plans can cold-start.

Fix: wait and refresh, or move to always-on hosting.


Security Guidance

  • Do not expose admin APIs without access controls.
  • Use HTTPS for docs, portal, and backend endpoints.
  • Rotate leaked tunnel or deployment tokens immediately.
  • Keep backend secrets outside frontend env variables.

Usage Notes For Teams

  • Share this docs page with team members before giving portal access.
  • Keep backend URL/version info documented in your ops runbook.
  • If using free hosting, expect wake-up delay after idle periods.

Next Step

If you are deploying now, continue with:

  1. Get Started
  2. Configuration
  3. Web Dashboard