Skip to main content
Version: 1.0.4

System Requirements

QUBIQ ships as a signed installer per operating system, carrying a self-contained application and its own private Python runtime. There is no database server, message broker, web server — or Python — to install alongside it.

Supported platforms

OSArchitecturesNotes
Windows 10/11, Server 2019+x64, arm64Encryption keys are protected by the operating system.
Linux (glibc or musl)x64, arm64Runs on Debian/Ubuntu, RHEL/Rocky, Alpine, and on ARM SBCs.
macOS 12+x64, Apple SiliconPrimarily a development/engineering-workstation target.

Nothing else has to be installed on the target machine: no runtime to provision, no database engine, no compiler toolchain.

Hardware sizing

Sizing is driven mainly by tag count, historian write rate and concurrent LiveView sessions.

DeploymentTagsCPURAMDisk
Evaluation / single machine< 5002 cores2 GB5 GB
Small plant500 – 5,0004 cores4–8 GB50 GB + history
Site5,000 – 50,0008+ cores16 GB+250 GB + history

Notes:

  • Disk is dominated by history. The configuration database itself stays small — time-series volume lives in QuestDB. Size that separately from the retention policy.
  • RAM scales with subscriptions, not with total tags. A namespace of 50,000 tags with 2,000 actively subscribed behaves like a 2,000-tag system.
  • The supervisor runs one OS process per service, so more cores translate directly into parallelism across protocol workers, the engine and the historian.

Prerequisites

There are no software prerequisites to install QUBIQ. The installer brings everything the platform itself needs, including a private, version-pinned Python runtime — you do not install Python, create a virtual environment, or run pip install. The embedded message bus, the configuration database, the web server and the full-text search index are all built in.

Two external data stores are needed before a production deployment is complete. Neither blocks installation; QUBIQ runs without them and tells you what is missing.

StoreNeeded forNotes
QuestDBThe historianConfigured as a QuestDB connection. Without one, live values still work — nothing is retained.
An external SQL databaseThe audit journalPostgres, MySQL or SQL Server. Deliberately never the app's own database, so a compromise of QUBIQ cannot rewrite its own history.

Network ports

PortServiceExposure
8182CoreServer — HTTP API, web UI, WebSocket upgradeThe one port operators and engineers connect to.
8183RealtimeGateway — telemetry WebSocket fan-outReachable by browsers; proxy alongside 8182.
8090RestGateway — REST ingress/egress for third-party systemsOpened by default; it is the intended door for machine access. Uncheck it during setup for a locked-down install.
8091ScriptingGatewayInternal; bind to loopback in production.
162/udpSNMP trap listenerOpt-in, off by default.

The internal message bus binds to loopback on a random port and is never exposed. Individual services do not open ports of their own — cross-service traffic never leaves the machine.

The installer opens the ports you confirm during setup and adds the firewall rules for them. Change the defaults afterwards with PORT, REALTIME_PORT, REST_GATEWAY_PORT and SCRIPTING_GATEWAY_PORT — see Environment variables.

TLS on 8090

Port 8090 carries API keys over the network. Enable TLS during setup or terminate it at a reverse proxy before issuing keys.

Outbound

QUBIQ initiates connections to whatever you configure: OPC-UA servers (typically 4840), MQTT brokers (1883/8883), Modbus TCP devices (502), SNMP agents (161/udp), your databases, and QuestDB (8812 pgwire + 9009 ILP).

Browser support

The Platform and LiveView target current Chrome, Edge, Firefox and Safari. The Designer canvas, 3D viewer and charting are GPU-accelerated — an operator panel PC with hardware compositing disabled will work but will feel slow with large screens.

Where data is stored

The installer pins the data directory with QUBIQ_DATA_DIR, so a service account with no user profile still finds it.

OSApplicationData directory
WindowsC:\Program Files\QUBIQC:\ProgramData\QUBIQ
Linux/opt/qubiq/var/lib/qubiq
macOS/opt/qubiq/Library/Application Support/QUBIQ

QUBIQ installs machine-wide on every platform, as a service — see Installation. The data directory sits deliberately outside the install tree, so an upgrade or an uninstall cannot take it with them.

Inside the data directory:

.env JWT_SECRET and ENCRYPTION_KEY — generated on first boot
projects/ per-project view, script and asset trees
user-databases/ sandbox for user-created SQLite connections
python-packages/ admin-installed Python modules for the script sandbox
mibs/ uploaded SNMP vendor MIBs
log/ rotated diagnostic reports

The directory also holds the configuration database and the machine-bound key that protects it.

The installer locks the directory down — a restrictive DACL on Windows, owner-only on Unix — because it holds the configuration database, .env and every connection credential.

Moving a data directory between machines

The configuration database is encrypted with a key bound to that machine. Copying the folder alone is not enough — you must carry the key with it, or use Backup & Restore, which re-encrypts under the target's key.

Next

Installation