Skip to content

Installation

System requirements

ComponentRequirement
Server (tyr-server)Linux or macOS, x86_64 or aarch64. PostgreSQL 15+. Any Docker-capable host works.
Agent (tyrd)Linux only. Kernel 5.15+ with CONFIG_BPF_LSM=y, BTF (/sys/kernel/btf/vmlinux), x86_64 or aarch64. Root or CAP_BPF + CAP_SYS_ADMIN.
CLI (tyr)Linux or macOS, x86_64 or aarch64.

Verify kernel support for the agent

Terminal window
uname -r # ≥ 5.15
cat /sys/kernel/security/lsm # must include "bpf"
ls /sys/kernel/btf/vmlinux # must exist

Good out-of-the-box on: Ubuntu 22.04+, Debian 12+, Fedora 36+, Amazon Linux 2023, RHEL 9, Raspberry Pi OS (bookworm, 6.1+). On older kernels, tracepoint-only observation is available, but LSM enforcement is not.

Server

Terminal window
curl -sSL https://raw.githubusercontent.com/terranchi/tyr/main/docker-compose.yml \
| docker compose -f - up -d

Opens REST on :7701 and gRPC on :7700. PostgreSQL runs alongside.

Agent (tyrd)

Terminal window
curl -sSL https://raw.githubusercontent.com/terranchi/tyr/main/scripts/install.sh \
| bash -s -- --component agent \
--server https://tyr.example.com:7700 \
--token <enrollment-token> \
--name $(hostname)

Installs tyrd to /usr/local/bin, drops config at /etc/tyr/tyrd.yaml, and installs a tyr-agent.service systemd unit enabled at boot.

CLI (tyr)

Terminal window
curl -sSL https://raw.githubusercontent.com/terranchi/tyr/main/scripts/install.sh \
| bash -s -- --component cli

Or grab tyr from any release tarball — it’s a single binary and works on Linux and macOS.

Terminal window
tyr --help
tyr agent list

Image tags

Pre-built multi-arch (linux/amd64 + linux/arm64) images are published to GHCR.

TagPublished byUse for
:latestRelease workflowProduction — always a signed release
:vX.Y.ZRelease workflowPinning to a specific version
:edge, :mainEdge workflowLatest main, features in flight
:sha-abc1234Edge workflowReproducible deploys from a commit
Terminal window
docker pull ghcr.io/terranchi/tyr/tyr-server:latest
docker pull ghcr.io/terranchi/tyr/tyr-agent:latest

Uninstall

Script-installed agent:

Terminal window
sudo systemctl stop tyr-agent && sudo systemctl disable tyr-agent
sudo rm /etc/systemd/system/tyr-agent.service
sudo rm /usr/local/bin/tyrd /usr/local/bin/tyr
sudo rm -rf /etc/tyr /var/lib/tyr

Docker Compose stack:

Terminal window
docker compose down -v # -v also removes Postgres volume

→ Next: Your first policy