The connector ships as a single static binary (musl) with the React UI embedded. No
runtime, no host dependencies.

### Docker (full stack)

The repo's `docker-compose.yml` brings up Postgres (TimescaleDB), ClickHouse, NATS, and
the connector together:

```bash
git clone https://github.com/Opex-Technologies-Pte-Ltd/opex-connector.git
cd opex-connector
cp apps/connector/config.example.yaml config.yaml      # edit devices + push_endpoint
docker compose up -d                    # UI + API on :3080
```
### Build from source

```bash
cargo build --release
# default features: modbus,opcua,nats,http,mqtt,clickhouse,postgres,transform,static-ui
./target/release/opex-flow config.yaml
```

Feature flags are additive: build only the adapters you ship to the edge to keep the
binary small. The JavaScript transform layer is the `transform` feature; the DSL needs no
extra feature.