Skip to content

Repository files navigation

NowhereDash

NowhereDash

A focused control plane for Nowhere Portal infrastructure.

Manage multiple OpenCtrl endpoints, operate Portal instances, inspect live telemetry, and publish private subscriptions from one dashboard.

LicenseReleaseDownloadsDocker image

Product Tour · Quick Start · Documentation · Development

English · 简体中文

NowhereDash ships as a single Go binary with an embedded React frontend. It uses Gin, GORM, and SQLite or PostgreSQL on the backend, with Vite, TypeScript, and HeroUI in the web application. Runtime state is delivered through SSE and WebSocket.

Important

NowhereDash manages Nowhere Portal instances only. Legacy client/server modes, service assembly, and compatibility fields from earlier dashboard formats are intentionally unsupported.

At a Glance

AreaHighlights
PortalsManage Portal instances across multiple OpenCtrl endpoints.
ObservabilityMonitor traffic, connections, latency, status, and logs in real time.
SubscriptionsPublish protected feeds with QR codes and mobile import links.
SecurityGuided setup, OAuth2 login, TLS, and token rotation.
DeploymentRun with Docker, systemd, or a standalone binary on SQLite/PostgreSQL.

Product Tour

Initialization wizardLogin pageDashboard overview
Subscription managementPortal managementPortal details
Node managementNode detailsSettings

Quick Start

Run the latest container:

mkdir -p db logs
docker run -d \
--name nowheredash \
--restart unless-stopped \
-p 4000:4000 \
-v "$(pwd)/db:/app/db" \
-v "$(pwd)/logs:/app/logs" \
ghcr.io/nodepassproject/nowheredash:latest

Open http://localhost:4000.

Tip

On first start, the Setup wizard lets you choose SQLite or PostgreSQL, accept the compliance notice, and create the first administrator. It writes the resulting configuration to .env; restart the service afterward if your process manager does not do so automatically.

InstallationGuideRecommended for
DockerDocker guideContainers and quick evaluation
Binary + systemdBinary guideLong-running Linux hosts
SourceDevelopment guideContributors and custom builds

Configuration

Common CLI flags
./nowheredash --help
./nowheredash --version
./nowheredash --port 4000
./nowheredash --log-level INFO
./nowheredash --cert /path/to/cert.pem --key /path/to/key.pem
./nowheredash --disable-login
./nowheredash --sse-debug-log
./nowheredash --disable-sse-log
./nowheredash --demo
./nowheredash --resetpwd

Common environment variables:

GroupVariables
ServerPORT, LOG-LEVEL, TLS_CERT, TLS_KEY
AuthenticationDISABLE_LOGIN
RuntimeSSE_DEBUG_LOG, DISABLE_SSE_LOG, DEMO_MODE
DatabaseDB_DRIVER, DB_PATH, and the PG_* values written by the Setup wizard

Development

Requirements: Go 1.23+, Node.js 20+, and pnpm 10+.

cd web
corepack enable
corepack prepare pnpm@10.23.0 --activate
pnpm install --frozen-lockfile
pnpm build
cd ..
go run ./cmd/server

Validation and local frontend development:

go test ./...
cd web
pnpm dev

Documentation

TopicGuide
Deployment with DockerDOCKER.md
Binary and systemd deploymentBINARY.md
Development environmentDEVELOPMENT.md
MigrationMIGRATION.md
Offline SQLite compactionSQLITE-MAINTENANCE.md

Compatibility

NowhereDash uses a Portal-only schema and backup format. Recreate legacy dashboard instances as Nowhere Portal instances, or import a NowhereDash Portal-only backup.

License and Support

NowhereDash is licensed under the GNU General Public License v3.0.

ResourceLink
IssuesNodePassProject/NowhereDash/issues
NowhereNodePassProject/Nowhere
OpenCtrlNodePassProject/OpenCtrl
Disclaimer

This project is provided "as is", without any express or implied warranties. You are responsible for complying with local laws and regulations and using it only for lawful purposes. The authors are not liable for any direct, indirect, incidental, or consequential damages. The authors reserve the right to modify features and this statement at any time.

Copyright 2026 NodePassProject.

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages