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
- Server: Linux amd64 or arm64, Docker Engine 26.0 or newer with the Compose plugin 2.26 or newer, 2 GB of memory or more, about 1.2 GB of disk for the images.
- Agents: Linux amd64 or arm64 with systemd, deb, rpm and tar.gz packages, restic is in the package.
- Time on the server and the agent hosts must be synchronized.
- Windows, macOS and network equipment are not supported yet.
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
- Prometheus metrics on a separate port: backups, restore verifications, agents, certificate terms. The port is opened outward only with a token.
- Background cleanup of the server database by term: step logs 30 days, runs 180 days. It never deletes snapshots or the records of restore verifications.
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.