Linux
This page covers Linux installation for both applications:
padas-core(data engine)padas-ui(management UI)
Prerequisites
Before you start, confirm:
- The runtime expectations listed in System requirements.
- You have Linux packages (
rpm,deb, ortgz) for the app you are installing. - You have runtime config for
padas-core(operatorpadas.tomlnext to read-onlypadas.default.toml, commonly/opt/padas/core/etc/=$PADAS_HOME/etc/withPADAS_HOME=/opt/padas/core). See Runtime configurations. - External systems (Kafka, Splunk, syslog devices, object storage) are prepared only if you plan to enable those connectors.
Install padas-core
Option 1: RPM or DEB package
# RPM
sudo rpm -ivh ./padas-<version>.x86_64.rpm
# DEB
sudo dpkg -i ./padas-<version>_amd64.deb
These packages create the padas service user when needed (reused if padas-ui is already installed) and install the systemd unit file for Core—you do not need to copy a unit from examples/ manually.
License (required before first service start): accept the license once with the bundled CLI before enabling padas-core.service. Then enable and start the unit (reload systemd if the package just dropped a new unit).
sudo -u padas /opt/padas/core/bin/padas start --accept-license
# Complete the license flow; when the process exits or you stop it (e.g. Ctrl+C), continue:
sudo systemctl daemon-reload
sudo systemctl enable padas-core.service
sudo systemctl start padas-core.service
sudo systemctl status padas-core.service
Option 2: TGZ / tarball (manual install)
If you install from a .tar.gz (or similar) archive instead of rpm / deb, you must create the service account, lay out /opt/padas, and install the systemd unit yourself.
Installation steps
-
Extract the PADAS Core archive (adjust filename and architecture for your build):
sudo tar -xzf ./padas-core-<version>-linux-x86_64.tar.gz -C /opt/sudo mv /opt/padas-core-<version>-linux-x86_64 /opt/padas -
Create system group and user:
sudo groupadd -r padassudo useradd -r -g padas -d /opt/padas -s /bin/bash padas -
Set ownership:
sudo chown -R padas:padas /opt/padas -
Install the systemd unit from the shipped example:
sudo cp /opt/padas/core/examples/padas-core.service /etc/systemd/system/padas-core.service -
Reload systemd, accept license, then enable the service:
sudo -u padas /opt/padas/core/bin/padas start --accept-license# Complete the license flow; when finished or after stopping the foreground run:sudo systemctl daemon-reloadsudo systemctl enable padas-core.servicesudo systemctl start padas-core.service -
Verify:
sudo systemctl status padas-core.service
Review padas-core.service if your install prefix, PADAS_HOME, or config path differ from the defaults in that file.
Configure padas-core
Use /opt/padas as the install prefix ( bin/, core/, ui/, …). Core itself resolves PADAS_HOME to /opt/padas/core: configs live in etc/, runtime data under data/.
$PADAS_HOME/etc/padas.default.toml(absolute/opt/padas/core/etc/padas.default.toml) — From your package or installer; read-only baseline (do not customize this file).$PADAS_HOME/etc/padas.toml(/opt/padas/core/etc/padas.toml) — Operator overrides only;--configuses this path.
Place your padas.toml (and padas.default.toml from the distro if not already unpacked there):
sudo install -m 0644 ./padas.default.toml /opt/padas/core/etc/padas.default.toml
sudo install -m 0644 ./padas.toml /opt/padas/core/etc/padas.toml
sudo chown padas:padas /opt/padas/core/etc/padas.toml /opt/padas/core/etc/padas.default.toml
If rpm / deb already lays down padas.default.toml, skip the first install and only ship padas.toml.
Unless you override it in runtime configuration, the API listens with TLS on port
8999; JSON routes live underhttps://<CORE_IP>:8999/api/v1/...(for example.../status,.../metrics,.../health). Lab configs with[api.tls].enabled = falseusehttp://instead. Addcurl --insecure(or--cacert) when needed for TLS. See Runtime configurations.
Run padas-core (foreground, optional)
/opt/padas/bin/padas-core --config /opt/padas/core/etc/padas.toml
Run padas-core as a service (systemd)
- RPM / DEB: Follow Option 1 (license via
padas start --accept-license, thenenable/start). - Tarball: Follow Option 2 — Installation steps.
If you have no example unit (unusual), create /etc/systemd/system/padas-core.service with User= / Group= padas, Environment=PADAS_HOME=/opt/padas/core, and ExecStart=/opt/padas/bin/padas-core --config /opt/padas/core/etc/padas.toml, then daemon-reload, /opt/padas/core/bin/padas start --accept-license as padas, and enable/start.
Install padas-ui
Option 1: RPM or DEB package
# RPM
sudo rpm -i ./padas-ui-<version>-<builddate>-<platform>.rpm
# DEB
sudo dpkg -i ./padas-ui-<version>-<builddate>-<platform>.deb
rpm and deb packages install UI under /opt/padas/ui and create the padas user automatically when needed.
License (UI has no --accept-license flag): run the UI entrypoint once as padas, complete the interactive license in the terminal, stop the foreground process, reload systemd if units changed, then enable and start the service.
sudo -u padas /opt/padas/ui/bin/padas start
# Accept the license prompt in the terminal; stop with Ctrl+C (or the process exits), then:
sudo systemctl daemon-reload
sudo systemctl enable padas-ui.service
sudo systemctl start padas-ui.service
sudo systemctl status padas-ui.service
Option 2: TGZ package
sudo useradd --system --home /opt/padas --shell /usr/sbin/nologin padas || true
sudo mkdir -p /opt/padas/ui
sudo tar -xzf ./padas-ui-<version>-<builddate>-<platform>.tgz -C /opt/padas
sudo chown -R padas:padas /opt/padas/ui
License and service (tarball): same CLI pattern as RPM/DEB—foreground start first, then systemd:
sudo -u padas /opt/padas/ui/bin/padas start
# Complete license acceptance; stop foreground run, then:
sudo systemctl daemon-reload
sudo systemctl enable padas-ui.service
sudo systemctl start padas-ui.service
sudo systemctl status padas-ui.service
(Install padas-ui.service from your package layout or shipped examples/ if the archive provides one—same daemon-reload discipline before enable.)
Core token for attaching the UI
After Core has started, the registration credential used when attaching Core from Padas UI lives on the Core host at:
$PADAS_HOME/data/security/service-account.token
With PADAS_HOME=/opt/padas/core (as in the systemd example above), that is /opt/padas/core/data/security/service-account.token. The file contains the token value and expiry—use this when the UI prompts for Core credentials during attach. Protect the file like any other machine identity secret.
Validate services
| Check | What to look for |
|---|---|
| Process up | systemctl status padas-core.service shows active (running) |
| Status API | curl -sS https://localhost:8999/api/v1/status returns Core JSON status (same shape as https://<CORE_IP>:8999/api/v1/status) |
| Health endpoint | curl https://localhost:8999/health returns 200 (outside /api/v1; path matches your Core build) |
| Metrics | curl https://localhost:8999/api/v1/metrics returns metrics |
| API reachable | curl https://localhost:8999/api/v1/streams returns stream data |
| Core → UI attach | /opt/padas/core/data/security/service-account.token (= $PADAS_HOME/data/security/service-account.token) exists after Core starts |
| UI service up | systemctl status padas-ui.service shows active (running) |