Open app

Download & run the agent

The agent is a single self-contained binary with no dependencies. It runs on Linux and macOS, on both amd64 and arm64.

Every collector works on Debian and Ubuntu. On other distributions some features (package updates, vulnerability scanning, vhost discovery) are unavailable — see Supported platforms for the exact matrix before you deploy.

1. Install the binary

The quickest way — the installer detects your OS and architecture, downloads the matching binary, verifies its checksum, and installs it to /usr/local/bin:

curl -fsSL https://get.demerzel.cloud/install.sh | sh

To pin a specific version instead of the latest:

curl -fsSL https://get.demerzel.cloud/install.sh | sh -s v0.1.0

Or download manually

Builds are published as demerzel-agent-{linux,darwin}-{amd64,arm64}. Grab the one for your platform, verify it against the published checksums, and put it on your PATH:

curl -fsSL https://get.demerzel.cloud/latest/demerzel-agent-linux-amd64 -o demerzel-agent
curl -fsSL https://get.demerzel.cloud/latest/SHA256SUMS | grep demerzel-agent-linux-amd64 | sha256sum -c -
chmod +x demerzel-agent
sudo mv demerzel-agent /usr/local/bin/demerzel-agent
demerzel-agent --version

2. Enroll the host

Exchange your enrollment token for a signed identity:

demerzel-agent --enroll <your-token>

The agent talks to https://app.demerzel.cloud by default — you only pass --server (or DEMERZEL_SERVER) to point it elsewhere.

On success you’ll see:

enrolled as 3a623ca8-78ff-4826-9bc2-bcaa4dcfc1f4 (tenant …)
  identity: /etc/demerzel
  cert valid until 2026-08-11T20:15:20Z

What enrollment stores

Everything lands in the config directory (below), each file readable only by its owner:

FileContents
agent.keyPrivate key — never leaves the host
agent.crtSigned certificate carrying the agent’s identity
ca.crtIssuing CA chain
identity.jsonThe assigned tenant + agent id

The config directory defaults to /etc/demerzel when running as root, or ~/.config/demerzel otherwise. Override it with --config-dir.

3. Run it

Once enrolled, the agent loads its own identity — no need to repeat it. Do a single test run:

demerzel-agent --once

Then run it continuously (usually via a service — see Run the agent as a service):

demerzel-agent --interval 1m

Command-line flags

FlagMeaningDefault
--serverDemerzel base URLhttps://app.demerzel.cloud
--enrollEnroll with a token, then exit
--config-dirWhere identity is stored/etc/demerzel
--onceCollect and send a single timefalse
--intervalCollection interval in continuous mode1m
--versionPrint version and exit

Any flag can also be set from the environment: DEMERZEL_SERVER, DEMERZEL_CONFIG.