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/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 user is added to the
dialoutgroup 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).