Skip to content

Getting started

Nextvision Status — Getting started

Requirements

Docker Compose v2, or Go 1.26.4 and Node 24 for native development. Reserve at least 4 CPU cores and 8 GiB RAM for a local source build including MinIO.

Start the local stack

From the repository root:

cp .env.example .env
docker compose --profile demo up --build -d

The first run compiles the pinned MinIO source because upstream container pulls may be unavailable. PostgreSQL, Redis, MinIO and Mailpit bind to loopback only. The demo profile creates a workspace explicitly labelled local demo and bypasses company verification for that fixture alone.

Open the app at http://localhost:3400, docs at http://localhost:4321, and captured email at http://localhost:18025. Demo login is owner@demo.nextvision.example with the DEMO_PASSWORD configured in .env.

The demo checks https://example.com using real probe observations. Initial Unknown status becomes Operational after two successful checks; no uptime data is fabricated.

Create a real workspace

Run Compose without the demo profile. Register with a company email, follow the email verification link, and add the displayed DNS TXT record at _nextvision-status.your-domain.

Click Verify DNS. Then create a status page, component and probe, save the one-time probe token, and add a monitor assigned to that probe. Invite teammates using the verified company domain.

Native development

docker compose up -d postgres redis minio mailpit minio-init
set -a
. ./.env
set +a
go run ./cmd/status migrate
go run ./cmd/status api
# In separate terminals with the same environment:
go run ./cmd/status worker
go run ./cmd/status delivery
npm --prefix apps/web ci
npm --prefix apps/web run dev

.env.example is trusted shell-compatible local configuration. Production secrets belong in your secret manager.

Stop

docker compose down

This preserves named volumes. Removing volumes deletes the local database and object storage.

Type to search…

↑↓ navigate↵ selectEsc close