Local development
Requires Docker Desktop. Local development talks to production TenancyEngine by default, like a real ISV customer's app; no local platform stack is needed.
Choosing the TenancyEngine environment
Set TENANCYENGINE_ENVIRONMENT=production|staging|lab (default production), or use dotnet run --launch-profile lab for the ORION lab lane. Platform developers who run TenancyEngine on localhost set TENANCYENGINE_BASE_URL=http://localhost:15096. A Production deployment refuses a non-production TenancyEngine and a Staging deployment refuses lab unless TENANCYENGINE_ALLOW_CROSS_ENVIRONMENT=true. Dev credentials come from VectraLabel's app registration in the selected lane's TenancyEngine console, stored with dotnet user-secrets.
Quick start
cd vectralabel
docker compose up -d # Postgres on port 25433
dotnet run --project src\VectraLabel.Api\VectraLabel.Api.csproj --launch-profile httpThe API serves both the REST endpoints and the static SPA from wwwroot/.
Dev URLs
| Service | URL |
|---|---|
| VectraLabel API / App | http://127.0.0.1:15153 |
| Dev tunnel (API) | https://api.lab.vectralabel.com |
| Dev tunnel (App) | https://app.lab.vectralabel.com |
| TenancyEngine (OIDC, API, console) | follows TENANCYENGINE_ENVIRONMENT (production by default; auth./console. hosts of that lane) |
Lane labels: lab. = local ORION dev lane, stage. = METEOR staging lane, none = production; dev./staging. labels denote the ISV app environment, not the platform lane.
Demo credentials
| Field | Value |
|---|---|
| Tenant | demo-bakery |
[email protected] | |
| Password | ChangeMe!Dev123 |
Database
PostgreSQL via Docker Compose (vectralabel-postgres, port 25433). EF Core migrations run on startup.
Docs (local)
Run this docs site locally so any future contextual help links resolve:
cd vectralabel/docs
npm install
npm run devDev docs base URL: http://localhost:5175.