Skip to main content

System Requirements

OmniBus is software you install on a Linux host you provide. It is deliberately light — it runs comfortably on a single-board computer and scales up to a server or VM.

Operating system

  • Linux with systemd. The installer provisions OmniBus as a systemd service. Tested on Debian/Ubuntu (including Raspberry Pi OS) and Armbian. Other systemd distributions (RHEL/Fedora, etc.) work; you provide Node.js and a build toolchain.
  • A host without systemd can still run OmniBus directly with node — see Installation → Manual / other distributions.

CPU & architecture

  • 64-bit x86-64 or ARM64 (aarch64) is recommended — these have prebuilt native modules and need no compiler.
  • 32-bit ARM (armv7l/armv6l) works but may have to compile native modules from source; install a build toolchain first.

Memory & storage

  • 512 MB RAM is plenty for a handful of ports; 1 GB+ is comfortable.
  • A few hundred MB of disk for the application and its dependencies. The config, audit log, and TLS material live in a small persistent data directory (default /var/lib/omnibus).

Node.js

  • Node.js 18 or newer. The installer detects an existing Node, and on Debian/Ubuntu can install Node 22.x for you from NodeSource if it's missing or too old.

Build toolchain (only sometimes)

OmniBus depends on the native serialport module. On x86-64 and ARM64 a prebuilt binary is used and no compiler is needed. If you're on an architecture without a prebuild, install a toolchain before running the installer:

# Debian / Ubuntu
sudo apt-get install -y build-essential python3

# RHEL / Fedora
sudo dnf groupinstall -y "Development Tools" && sudo dnf install -y python3

The installer warns you if it can't find a compiler.

Serial interfaces

  • A USB-to-RS-485/RS-232 adapter (or an on-board UART) per bus you want to bridge. Each shows up as a device such as /dev/ttyUSB0 or /dev/ttyAMA0.
  • Use a real RS-485 transceiver with correct A/B wiring. OmniBus has no software pin-reversal — wire the bus correctly at the converter.
  • The service user is added to the dialout group so it can open serial devices.

:::tip Network-only adapters need no serial port The Modbus TCP client adapter polls upstream Modbus/TCP servers over the network and has no serial device at all. You can run a useful OmniBus instance on a plain VM with no USB hardware. :::

Network

  • One IP address reachable by the browsers and upstream systems that will use OmniBus.
  • OmniBus advertises itself over mDNS as <hostname>.local, so on most LANs you can reach it by name without knowing its IP.
  • Default ports are 80 (HTTP) and 443 (HTTPS). Both are configurable at install time (--port / --https-port).