Install and operate

The Sard server runs through Docker Compose together with PostgreSQL. Agents are installed from the server. This page covers the requirements and what exists for operations.

Requirements

The first-start wizard

A one-time setup code is printed in the server log and is valid for 24 hours. The wizard shows the server’s CA, asks for the administrator password and leads to the backup of the server itself: choose a storage, run the command it shows on the host (keys are typed in the terminal, never in the browser), let the first backup succeed and confirm that a copy of the repository password is kept outside the machine. Until then new agents are not accepted.

Agents

The console gives the install commands and a one-time enrollment token, and the server itself serves the packages. After installing, sard-agent check verifies the host without the server and, when something is refused, names the cause and a ready command.

Install without internet

Every release carries an archive of the images (sard-server, sard-agent, PostgreSQL) for amd64 and arm64, the install files, SBOMs and signatures. The signature and sums are verified offline, then the images are loaded with docker load.

Name, TLS and a reverse proxy

Agents need a permanent server name, which goes into the certificate. The console listens on 127.0.0.1:8080 over HTTP, so it is published behind a TLS proxy (Cloudflare Tunnel, nginx, Caddy) with SARD_FORWARD_HEADERS=native.

Monitoring and data retention

If the server is gone

Every night the server backs itself up. With the recovery card (a printable console page), access to the storage and the repository password, Sard comes back on a new machine: agents reconnect without re-enrolling and the history is intact. CI drills run the commands of this procedure.