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 20.19 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. The offline installer bundles its own pinned Node runtime, so on that path the host's Node version doesn't matter.
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/ttyUSB0or/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 runs as root, so it can open any serial device directly — no group configuration is required.
Network-only adapters need no serial port
Some adapters have no serial device at all: the Modbus TCP client polls upstream Modbus/TCP servers, and the Mitsubishi VRF adapter talks to an AE-200 / EW-50 centralized controller over Ethernet. 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).