Skip to content

Development Setup

This guide covers setting up a local Consystence development environment with all services.

Prerequisites

Requirement Version Notes
.NET SDK 10.0+ dot.net/download
Node.js 22 LTS+ nodejs.org
PostgreSQL 15+ Local install or Docker
Docker 24+ Required for PostgreSQL container and edge testing

Repositories

Repository Purpose Tech
consystence-server Site server — Orleans silo, SignalR, scene graph .NET 10, Orleans
consystence-auth Authentication service — JWT, OIDC, MFA .NET 10, ASP.NET Core
consystence-edge Edge device service — PLC gateway, ML inference .NET 10, libplctag, TensorRT
consystence-web Client shell — TypeScript thin client TypeScript, Tailwind CSS
consystence-infra Azure infrastructure — Bicep templates Azure Bicep
consystence-docs Documentation site (this repo) MkDocs Material

Clone the repositories you need:

# Core services (minimum for local development)
git clone https://github.com/consystence/consystence-server.git
git clone https://github.com/consystence/consystence-auth.git

# Optional
git clone https://github.com/consystence/consystence-web.git
git clone https://github.com/consystence/consystence-edge.git

Database setup

Start PostgreSQL via Docker:

docker run -d --name consystence-pg \
  -e POSTGRES_USER=consystence \
  -e POSTGRES_PASSWORD=consystence \
  -e POSTGRES_DB=consystence \
  -p 5432:5432 \
  postgres:17

Set the connection string:

export DATABASE_CONNECTION_STRING="Host=localhost;Database=consystence;Username=consystence;Password=consystence"

Running services

Auth service

cd consystence-auth
dotnet restore && dotnet run

Runs on https://localhost:5100.

Site server

cd consystence-server
dotnet restore && dotnet run

Runs on https://localhost:5000. On first launch, the setup wizard creates the initial admin account, organisation, and site.

Client shell (optional)

cd consystence-web
npm install && npm run dev

Runs on http://localhost:3000. In development, the server renders HTML directly — the client shell is only needed for testing the TypeScript layer.

Workshop infrastructure

The Deftec development workshop runs on a Proxmox VE cluster:

Host Role
pve-01 Proxmox node — VMs for dev services, CI runners
dev-workstation Primary development machine — GPU for local LLM testing
orin-dev Nvidia Orin devkit — edge service testing with real hardware
plc-sim ControlLogix emulator — EtherNet/IP testing without physical PLC

For most development work, you only need the local setup described above. The workshop infrastructure is used for integration testing with real PLCs and edge hardware.