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 188 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 |
| 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 / Debian and Windows. 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 / Debian (installs Rust, build dependencies, binaries, web console, registers the systemd service):
curl -fsSL https://raw.githubusercontent.com/ajjs1ajjs/BCK/main/scripts/install.sh | sudo bashWindows (PowerShell, run as Administrator — installs binaries, web console, registers the bckd Windows service):
irm https://raw.githubusercontent.com/ajjs1ajjs/BCK/main/scripts/install.ps1 | iexThe installer (both platforms):
- Download the latest GitHub release for the platform (or build from source when no release exists — on Windows this also bootstraps Rust, Git, protoc, Node.js and MSVC Build Tools as needed via
rustup/winget). - Install
bckd,bck-agent,bck,bck-proxyand the web console. - Create a default config — existing config is preserved on update.
- Register
bckdas a service (systemd on Linux, a Windows service on Windows) with restart-on-failure.
The same command is used for fresh installs and upgrades, so you can script regular updates:
# Ubuntu / Debian — add a weekly update
0 3 * * 0 curl -fsSL https://raw.githubusercontent.com/ajjs1ajjs/BCK/main/scripts/install.sh | sudo bash# Windows — re-run any time to update in place
irm https://raw.githubusercontent.com/ajjs1ajjs/BCK/main/scripts/install.ps1 | iexVerify 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




