Early development, pre-release
Backups you have proven you can restore
Sard is a backup console for the mixed infrastructure of small and mid-sized businesses, built for the integrators and MSPs who look after it. One screen answers the main question: can you restore right now, and if not, where did the thread break.
Last verified restore
3 h ago2 failures · 1 no report
Needs attention
- Failed: media-s3Backup failed: network timeout
- No report: 1c-buhNo report for 26 h
- Backup exists: pg-ordersBackup 2 h ago, not verified
- Verified: files-officeVerified 3 h ago
- Paused: old-wikiPaused
A console that does not lie about success
A verified restore is the main metric
Green does not mean “the backup ran”, it means “we restored from it”. No verification, no green.
Silence is a signal too
A report that did not arrive on time is its own status, “No report”, not “OK”. Success is never shown by default.
State over decoration
A dense instrument panel: the failing source is visible in a second. A status is always told by icon, text and color, never by color alone.
How it works
Sard orchestrates backups; restic does storage, deduplication and encryption. Backup data never passes through the server.
The agent dials out
The agent is a gRPC client over mTLS. Hosts open no inbound ports.
Data skips the server
The agent streams the backup straight to storage through restic. The server holds only control.
Sources are plugins
Every source implements one interface: prepare → dump → stream → verify. The SDK is Apache-2.0.
What works today
Sard is in early development and not production-ready. An honest list of what exists and what does not yet.
Works today
- Backs up files and directories
- Backs up PostgreSQL: pg_dump in custom format plus the cluster’s roles and tablespaces
- Stores backups with restic in S3-compatible storage, over SFTP or on a local disk
- Runs on a cron schedule in a chosen time zone, with one catch-up run after downtime, or on demand from the console
- Reports runs and missed schedules to Telegram
- Installs agents from the server: deb, rpm and tar.gz for Linux amd64 and arm64, signed releases
- Backs itself up: its database, CA keys and configuration go nightly into a repository of your choice
Not yet
- Automatic restore verification
- Restore over existing data from the console (today: into a new place only)
- Other sources: MySQL, network devices, 1C
- More than one tenant
- sardctl commands beyond version
The roadmap is a plan, not a promise. Read the roadmap
Plans
The open core is free and runs without enterprise modules. Enterprise is switched on by a license key, and the key decides the edition: Pro or MSP. The enterprise features are planned and not in the product yet.
Community
The open core, AGPL-3.0
Free
- Backs up files and PostgreSQL with restic (S3, SFTP, disk)Available now
- Schedules, on-demand runs, Telegram reportsAvailable now
- Agents over mTLS, install from the server, signed releasesAvailable now
- Backup of Sard itselfAvailable now
- One administrator, one tenantAvailable now
- Automatic restore verificationPlanned
- Restore from the console over existing dataPlanned
- New sources: 1C on PostgreSQL, MikroTik, Eltex, MySQLPlanned
Pro
For a single organization
Terms on request
No tenant management, and the number of users is limited by agreement. Resale is not allowed.
- Everything in CommunityAvailable now
- SSO and RBAC: users, roles, sign-in through an external IdPPlanned
- Audit logPlanned
- Reports: RPO, RTO, statistics of restores, storages and backupsPlanned
- LLM integration: anomaly analysis, help with administration and with writing verification scriptsPlanned
- Enterprise-grade pluginsPlanned
- External CA and certification (Vault, PKCS#11, GOST)Planned
MSP
For integrators and MSPs
Terms on request
Allows providing the service to clients.
- Everything in ProAvailable now
- Tenant management: many clients in one installationPlanned
A server in 10 minutes
You need a Linux host (amd64 or arm64) with Docker Engine 26.0+, the Compose plugin 2.26+ and curl. The commands run sard-server and PostgreSQL from the published image.
SARD_TAG=v0.1.0-beta.1
mkdir -p ~/sard && cd ~/sard
curl -fsSLO "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/docker-compose.yml"
curl -fsSL -o .env "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/sard.env.example"
mkdir -p db
curl -fsSL -o db/db-init.sh "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/db-init.sh"
curl -fsSL -o db/bootstrap.sql "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/bootstrap.sql"
curl -fsSL -o db/pg_hba.conf "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/pg_hba.conf"
curl -fsSL -o db/postgres-entrypoint.sh "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/postgres-entrypoint.sh"
sudo chgrp 10001 .env && chmod 640 .env
docker compose up -d --wait
curl -fsS http://localhost:8080/api/v1/statusThe first start asks for the administrator password in the console: a one-time code is printed in the server log, and the setup wizard walks you through the CA and the backup of the server itself.
The server is a control plane, not a key holder
Repositories, secrets and scripts are defined on the agent host and referenced by name only. Keys, credentials and script paths never cross the wire: the server holds no storage keys. Releases are signed (minisign, cosign) and carry SBOMs and build provenance.
Open core
The server, agent, CLI and web UI are AGPL-3.0. The gRPC contracts and the plugin SDK are Apache-2.0, so third-party plugins, proprietary ones included, can be written without AGPL obligations. The open core runs without enterprise modules.