Docs
/
Installation
/

System Requirements

System Requirements

Before installing Koios, verify that your host machine meets the following hardware and software requirements.

Hardware

ResourceMinimumRecommended
CPU2 cores4+ cores
RAM4 GB8+ GB
Disk20 GB free50+ GB free

Disk usage grows over time with historical time-series data. Plan storage based on the number of tags, scan rates, and data retention settings.

Operating System

OSVersion
Ubuntu Server20.04 LTS, 22.04 LTS, or 24.04 LTS

Ubuntu Server (minimal install) is recommended. A desktop environment is not required — Koios is managed entirely through its web interface.

Software

DependencyVersion
Docker Engine20.10 or later

Docker is the only software dependency. See Installing Docker Engine for setup instructions.

Network

RequirementDetail
Docker Hub accessRequired to pull the Koios image (unless using an offline bundle)
Ports 443 and 80Must be available on the host for HTTPS and HTTP access
Device network accessThe host must be able to reach industrial devices (OPC-UA, Modbus, etc.) on their respective ports

Time Synchronization (NTP)

The host must keep accurate time via NTP (Network Time Protocol). Koios timestamps every device read, model prediction, event, and historical sample using the host clock — so a drifting clock corrupts all of it.

RiskImpact
Drift on the hostTime-series data is written with the wrong timestamp. Trends, model history, and event timelines no longer line up with reality.
Drift between host and browserThe UI compares its own clock against the server clock. A few seconds of drift triggers a warning on the System Overview page; large drift makes "live" values appear stale or future-dated.
Drift between Koios and external systemsComparing Koios timestamps to PLC, SCADA, or third-party historians becomes unreliable when each side runs on its own clock.

Ubuntu enables systemd-timesyncd automatically on a clean install. Verify it's running and synchronized:

timedatectl status

The output should show System clock synchronized: yes and NTP service: active. If it's not, enable it:

sudo timedatectl set-ntp true

For air-gapped sites, point the host at an internal NTP server by editing /etc/systemd/timesyncd.conf:

[Time]
NTP=ntp.internal.example.com
FallbackNTP=ntp.ubuntu.com

Then restart the service:

sudo systemctl restart systemd-timesyncd

What's Next