Skip to content

// install · linux + systemd

Install syscert

One static binary and a systemd timer. Pick the path you trust — the fast one-liner, or verify every byte first.

$ curl -fsSL https://syscert.tfindley.dev/install.sh | sudo sh

early · pre-1.0 Runs as root to create the service user, units & timer. amd64 · arm64.

A

Inspect before you pipe

It's a security tool — read the script, then run it. Nothing to hide.

# read it first
curl -fsSL https://syscert.tfindley.dev/install.sh | less

# …or download, review, then run
curl -fsSL https://syscert.tfindley.dev/install.sh -o install.sh
less install.sh
sudo sh install.sh
B

Download a release binary & verify

Pre-built static binaries on every release, checked against published sums.

# amd64 — for arm64 use syscert-linux-arm64
curl -fsSL https://github.com/tfindley/syscert/releases/latest/download/syscert-linux-amd64 -o syscert
curl -fsSL https://github.com/tfindley/syscert/releases/latest/download/sha256sums.txt -o sha256sums.txt
sha256sum --check --ignore-missing sha256sums.txt   # syscert: OK
chmod +x syscert
sudo packaging/install.sh ./syscert

sha256 latest v0.4.0 — verify your download against:

amd64
c2648e949b0c88655eed7cb2e4735548b7902b8e599e17d209f95b32897efdd5
arm64
383669e78feab30d85c796233c75358b9ed29852a91d61a2fb940e81ba428bb7
sha256sums.txt ↗
C

Build from source

Requires Go ≥ 1.26. The packaging files come with the clone.

git clone https://github.com/tfindley/syscert.git
cd syscert
go build -o syscert ./cmd/syscert
sudo packaging/install.sh ./syscert

Uninstall

Installed with the one-liner? Remove it the same way — no clone needed:

curl -fsSL https://syscert.tfindley.dev/install.sh | sudo sh -s -- --uninstall          # keep data
curl -fsSL https://syscert.tfindley.dev/install.sh | sudo sh -s -- --uninstall --purge  # + data, config, user

From a source checkout, use the script directly:

sudo packaging/install.sh --uninstall          # keep data
sudo packaging/install.sh --uninstall --purge  # + data, config, user

--purge is irreversible, so it asks you to confirm; set SYSCERT_ASSUME_YES=1 to skip the prompt.

Supported & tested on Debian/Ubuntu and the RHEL family; other systemd hosts may work. Full details in the Quick start · all releases ↗.