
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.
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.
| Area | Highlights |
|---|---|
| Portals | Manage Portal instances across multiple OpenCtrl endpoints. |
| Observability | Monitor traffic, connections, latency, status, and logs in real time. |
| Subscriptions | Publish protected feeds with QR codes and mobile import links. |
| Security | Guided setup, OAuth2 login, TLS, and token rotation. |
| Deployment | Run with Docker, systemd, or a standalone binary on SQLite/PostgreSQL. |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
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:latestOpen 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.
| Installation | Guide | Recommended for |
|---|---|---|
| Docker | Docker guide | Containers and quick evaluation |
| Binary + systemd | Binary guide | Long-running Linux hosts |
| Source | Development guide | Contributors and custom builds |
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 --resetpwdCommon environment variables:
| Group | Variables |
|---|---|
| Server | PORT, LOG-LEVEL, TLS_CERT, TLS_KEY |
| Authentication | DISABLE_LOGIN |
| Runtime | SSE_DEBUG_LOG, DISABLE_SSE_LOG, DEMO_MODE |
| Database | DB_DRIVER, DB_PATH, and the PG_* values written by the Setup wizard |
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/serverValidation and local frontend development:
go test ./...
cd web
pnpm dev| Topic | Guide |
|---|---|
| Deployment with Docker | DOCKER.md |
| Binary and systemd deployment | BINARY.md |
| Development environment | DEVELOPMENT.md |
| Migration | MIGRATION.md |
| Offline SQLite compaction | SQLITE-MAINTENANCE.md |
NowhereDash uses a Portal-only schema and backup format. Recreate legacy dashboard instances as Nowhere Portal instances, or import a NowhereDash Portal-only backup.
NowhereDash is licensed under the GNU General Public License v3.0.
| Resource | Link |
|---|---|
| Issues | NodePassProject/NowhereDash/issues |
| Nowhere | NodePassProject/Nowhere |
| OpenCtrl | NodePassProject/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.








