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¶
Runs on https://localhost:5100.
Site server¶
Runs on https://localhost:5000. On first launch, the setup wizard creates the initial admin account, organisation, and site.
Client shell (optional)¶
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.