BCK Enterprise — enterprise-grade backup and disaster recovery system (Veeam / Nakivo alternative), built entirely in Rust. Core engine, storage, REST + gRPC APIs, Web UI, CLI, agent and proxy; VMware/Hyper-V backup + instant recovery, SOBR, Tape, M365, Cloud, CDP, DR, SSO, audit, reports and multi-tenancy — all phases complete and covered by 235 passing tests.
| Area | Capabilities |
|---|---|
| Backup engine | Scanner → chunker (XXH3) → dedup (SHA-256) → compress (LZ4/Zstd) → encrypt (AES-256-GCM / ChaCha20-Poly1305) |
| Storage | Local FS, S3 (SigV4), Azure Blob, GCS, Tape (LTFS) |
| VMware / Hyper-V | CBT/RCT changed-block tracking, snapshots, power on/off, full VM backup jobs via REST, instant recovery (VM boots from backup via NFS/iSCSI) |
| Cloud | AWS (EC2/EBS/RDS), Azure (VM/disk/SQL), GCP (GCE/disk/SQL), K8s (PVC); cloud restore via API |
| Enterprise | SOBR tiers + lifecycle, Tape LTFS, M365 (mailbox/OneDrive/SharePoint), CDP, DR failover, SureBackup validation |
| Security & governance | JWT + Argon2, SSO (OIDC + LDAP), audit log, SLA/CSV reports, multi-tenancy, self-service restore portal, HA active-passive, KMS (file/env/Vault/AWS), per-repo DEK envelope, S3 Object Lock, legal hold, tenant billing |
| Interfaces | REST API (Axum), gRPC (Tonic), Web UI (React + MUI), CLI, agent, backup proxy |
| Component | Description | Technology |
|---|---|---|
| bckd | Main daemon: REST API + gRPC + scheduler | Rust (Axum + Tonic) |
| bck-agent | Agent for protected machines | Rust |
| bck-proxy | Backup proxy (SAN, NFS, HotAdd) | Rust |
| bck | Management CLI | Rust (clap) |
| web-ui | Web management interface | React + TypeScript |
| Database | PostgreSQL (SQLite for single-node) | sqlx |
| Storage | Local FS, S3, Azure Blob, GCS, Tape | Rust |
| Port | Service |
|---|---|
| 9440 | REST API + Web UI |
| 9441 | gRPC API |
Target platforms: Ubuntu Linux. Managed via the web console (
http://<host>:9440).
# Build
cargo build --release
# Run daemon (SQLite standalone)
./target/release/bckd
# Login via CLI and check status
bck --server http://127.0.0.1:9440 statusDefault web console: http://localhost:9440.
First login creates a random admin password (printed once, bootstrap_admin.txt 0600). See Operations for secrets/TLS/key protection/RBAC/SSRF/health/metrics.
Install and update with a single command — re-running the same command upgrades the daemon, agent, CLI, proxy and web UI in place, while preserving your configuration and backup data.
Ubuntu (installs Rust, build dependencies, binaries, web console, registers the systemd service):
curl -fsSL https://raw.githubusercontent.com/ajjs1ajjs/BCK/main/scripts/install.sh | sudo bashThe installer:
- Download the latest GitHub release for the platform (or build from source when no release exists).
- Install
bckd,bck-agent,bck,bck-proxyand the web console. - Create a default config — existing config is preserved on update.
- Register
bckdas a systemd service with restart-on-failure.
The same command is used for fresh installs and upgrades, so you can script regular updates:
# Ubuntu — add a weekly update
0 3 * * 0 curl -fsSL https://raw.githubusercontent.com/ajjs1ajjs/BCK/main/scripts/install.sh | sudo bashVerify installation:
bck --server http://127.0.0.1:9440 status # daemon health + stats
curl http://127.0.0.1:9440/api/v1/dashboard/stats# Jobs
bck job create "Daily Backup" /data my-repo
bck job list
bck job run <id>
bck job cancel <id>
bck job status <id>
# Repositories
bck repo list
bck repo add <name> <type> <path>
# Snapshots & restore
bck snapshot list <job_id>
bck snapshot delete <id>
bck restore <snapshot_id> <target> --files <file1,file2> --overwrite
# System
bck status
bck logs --tailEnterprise management commands (SOBR, cloud, M365, DR, tenants, portal, hypervisors): see bck --help.
13 pages: Dashboard, Backup Jobs, Repositories, Snapshots, Restore, SOBR, Cloud, Microsoft 365, Tape Library, Disaster Recovery, Tenants, Hypervisors & VMs, Self-service portal (plus Administration with SSO / audit / reports).
Веб-консоль BCK — це повноцінний PWA: встановлюється на телефон/планшет/ПК як окремий застосунок, працює офлайн із закешованими assets через Service Worker (vite-plugin-pwa). Для встановлення відкрийте консоль http://<host>:9440 у браузері та оберіть "Встановити додаток" / "Add to Home Screen".
REST endpoints and gRPC service reference: docs/API.md.
# Check compilation
cargo check
# Run tests (188 in bck-core)
cargo test
# Run daemon in dev mode
RUST_LOG=debug cargo run -p bckd
# Run web UI dev server
cd web-ui && npm install && npm run devMIT




