Skip to content

First run ​

On first launch the principals table is empty. The control plane enters setup mode and Studio opens the setup wizard.

Setup token ​

One-time setup key:

  • In the control-plane log (docker compose logs control-plane)
  • Inside the viewnova-config volume at /etc/viewnova/setup-token

Request header: x-vion-setup-token.

Wizard steps ​

In Studio, language choice is tr / en (localStorage key vion.locale).

ModeSteps
Quickwelcome → admin → database → network → summary → apply
Advanced+ deploy → runtime → historian → identity
StepFieldsEnvironment key
welcomeSetup token (≥16), language, mode—
adminusername, password ×2VION_BOOTSTRAP_ADMIN_*
databasePostgreSQL URL (+ Test)VION_DATABASE_URL
networkHTTP bind; TLS automatic / import / insecureVION_HTTP_BIND, VION_ALLOW_INSECURE_HTTP
deploynode id, role, HA peersVION_NODE_ID, VION_NODE_ROLE, VION_HA_PEERS
runtimegRPC URL, app tokenVION_RUNTIME_GRPC_URL, VION_RUNTIME_APP_TOKEN
historiantype, spool directoryVION_HISTORIAN, VION_SPOOL_DIR
identityOIDC issuer, break-glass TOTPVION_OIDC_ISSUER, VION_BREAK_GLASS_TOTP_SECRET

On completion, POST /api/v1/setup/complete writes vion.toml. When VION_RESTART_POLICY=supervised, the process restarts with exit code 75.

Local addresses ​

ServiceURL
Studio / setuphttp://127.0.0.1:8080/
Control plane healthhttp://127.0.0.1:8080/health
OpenAPIhttp://127.0.0.1:8080/api/v1/openapi.yaml
Runtime healthhttp://127.0.0.1:8081/health
Runtime gRPC127.0.0.1:50051

TIP

In the Compose development environment, VION_ALLOW_INSECURE_HTTP=true is enabled. Do not use this in production.

Next step: First project.