Architecture
How the PNeX stack fits together
PNeX is a single Rust workspace. The same types (pnex-core) compile natively for
the server and to WebAssembly for the web app, so the client-server contract is
checked at compile time. The same UI code also ships as native apps for Linux,
Windows and Android.
Explore the architecture
Click a block for details, follow a request end to end, or light up each security layer.
Components
| Component | Technology | Role |
|---|---|---|
| TLS edge | nginx | Single HTTPS origin for browsers, native apps and devices; local CA or Let's Encrypt |
| Server | Loco (Axum, SeaORM) | REST + WebSocket API, workers, firmware build service |
| Web, desktop & mobile apps | Dioxus (Rust) | Every user-facing screen from one codebase: web (WebAssembly), Linux desktop (x86_64, ARM64), Windows desktop (x86_64), Android |
| Flow runtime | vendored EdgeLink, headless Rust binary | Executes visual flows, supervised and hot-reloaded by the server |
| Telemetry | OpenObserve | Metrics and logs, per-organization isolation |
| Live cache | Valkey | Instant last-value reads for charts |
| Identity | Rauthy | OIDC single sign-on, JIT provisioning |
| Object storage | Any S3-compatible store (RustFS bundled) | Firmware artifacts, media assets |
| Thermophysics | CoolProp (vendored C++), in-process | Fluid properties inside flow nodes and diagrams |
Three data bricks
PNeX needs exactly three storage bricks: PostgreSQL (configuration, assets and the job queue), OpenObserve (time series and logs) and Valkey (live last values). Queue and workflow needs are covered by Postgres-backed workers and the flow runtime itself.
Server and edge split
The server stores data, builds firmware, casts configurations and never writes pins on its own. Today devices run in connected mode: flows drive them through the server. Autonomous devices — configuration cast onto the device, local regulation that survives server or internet outages — are coming, followed by a device-to-device mesh. See flows.
See Self-hosting for deployment options per tier.

