Zelos Agent Installation¶
The Zelos agent runs as a service on Linux machines without a screen: bench computers, test rigs, edge devices and servers. It runs extensions, receives data from SDK code, runs notebooks, and serves everything to any Zelos app that connects to it.
Using the app?
On a machine with the Zelos app, you do not need this. The app includes its own agent.
Overview¶
-
Extensions
Runs the same extensions as the app's agent
-
Network Ready
Serves apps, SDK code and the CLI on port 2300
-
Notebooks
Runs notebooks headless with
zelos notebook run -
Systemd Managed
Runs as a system service with automatic startup
System Requirements¶
Platform Support
- Ubuntu 22.04 LTS (Jammy) and 24.04 LTS (Noble) — tested targets
- Architectures:
amd64andarm64(also runs on 64-bit Debian / Raspberry Pi OS)
Check yours with dpkg --print-architecture (must be amd64 or arm64; armhf is not built).
For other platforms, contact support.
Installation¶
# Remove an old Zelos source so apt does not list Zelos twice
sudo rm -f /etc/apt/sources.list.d/zelos.list
# Add the Zelos signing key and repository
sudo wget -qO /usr/share/keyrings/zelos-archive-keyring.gpg https://release.zeloscloud.io/app/zelos-archive-keyring.gpg
printf '%s\n' 'Types: deb' 'URIs: https://release.zeloscloud.io:443/app/ubuntu' 'Suites: jammy' 'Components: main' 'Signed-By: /usr/share/keyrings/zelos-archive-keyring.gpg' | sudo tee /etc/apt/sources.list.d/zelos.sources
# Install the agent
sudo apt update
sudo apt install zelos-agent
For early releases, use the alpha repository instead:
sudo rm -f /etc/apt/sources.list.d/zelos.list
sudo wget -qO /usr/share/keyrings/zelos-archive-keyring.gpg https://release.zeloscloud.io/app/zelos-archive-keyring.gpg
printf '%s\n' 'Types: deb' 'URIs: https://release.zeloscloud.io:443/app/alpha/ubuntu' 'Suites: jammy' 'Components: main' 'Signed-By: /usr/share/keyrings/zelos-archive-keyring.gpg' | sudo tee /etc/apt/sources.list.d/zelos.sources
sudo apt update
sudo apt install zelos-agent
Debian & Raspberry Pi
Keep Suites: jammy on every system. It is the repository's name, not your OS version, and apt pulls the matching
amd64/arm64 build. Always add the repository (don't install a standalone .deb), so
sudo apt update && sudo apt install --only-upgrade zelos-agent keeps the agent current.
Already installed from the Zelos repository?
You do not need to do anything. Your next agent update moves you to the signed repository and keeps your channel.
Auto-start Enabled
The agent starts automatically after installation and on system boot.
Verify Installation¶
Expected output:
● zelos-agent.service - Zelos Agent
Loaded: loaded (/lib/systemd/system/zelos-agent.service; enabled)
Active: active (running) since Mon 2024-01-15 10:30:00 UTC
...
Configuration¶
Default Settings¶
| Setting | Default Value | Description |
|---|---|---|
| Listen Address | 0.0.0.0:2300 |
Binds to all IPv4 interfaces |
| Store Type | metadata |
Catalog only, no sample data |
| Data Retention | 1h |
How long to keep data in a memory or disk store |
The default store keeps no samples
With the metadata store, the agent lists the signals that exist and streams them live to a connected app.
It keeps no history, so queries, notebooks that read past data, and trace exports fail.
To keep data, use a memory or disk store (see Enable Memory Store below).
Customize Configuration¶
To bind to a specific interface or change the port. The agent always also
serves 127.0.0.1. The IPv6 wildcard [::] is accepted and served as
0.0.0.0 (all IPv4 interfaces); no IPv6 wildcard listener is bound.
Add:
To keep data for queries, notebooks and trace exports, at the cost of memory:
Add:
After making changes:
Command Line Options¶
| Option | Description | Example |
|---|---|---|
--listen-address |
Set bind address | --listen-address [::1]:2300 |
--store-type |
Storage backend: metadata, memory, or disk |
--store-type memory |
--store-retain-duration |
Data retention | --store-retain-duration 6h |
--memory-limit |
Memory cap for the memory store |
--memory-limit 2GB |
--store-path |
Parent folder for the disk store |
--store-path /data/zelos |
--disk-limit |
Size cap for the disk store |
--disk-limit 50GB |
--dev-mode |
Enable development mode features | --dev-mode true |
-v, -vv |
Increase verbosity | -vv for trace level |
-q |
Quiet mode | -q |
Service Management¶
Uninstallation¶
To remove the agent and keep the Zelos repository:
To also remove the Zelos repository and its signing key, purge the package instead:
Purge keeps the repository if the Zelos App is still installed, because the app updates from it too.
To remove any custom configuration:
Troubleshooting¶
Agent won't start
Check for port conflicts:
View detailed error messages:
Try running manually to see errors:
If the agent runs out of memory, fall back to the catalog-only store.
Run sudo systemctl edit zelos-agent and add:
Next Steps¶
-
Send Data
Start streaming data to your agent
-
Connect the app
Add this agent in the app's Data view