Skip to content

Repository files navigation

BCK Enterprise Backup — Source Code

License: MIT CI

Backup & Disaster Recovery for modern infrastructure

BCK Enterprise

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.

🌐 Live Site · Releases · Actions

Rust Status Tests License API Platform PWA


Screenshots

Dashboard Backup Jobs Repositories Snapshots

Login


Features

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

Architecture

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

Ports

Port Service
9440 REST API + Web UI
9441 gRPC API

Quick Start

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 status

Default 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.

One-line Install & Update

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 bash

The installer:

  1. Download the latest GitHub release for the platform (or build from source when no release exists).
  2. Install bckd, bck-agent, bck, bck-proxy and the web console.
  3. Create a default config — existing config is preserved on update.
  4. Register bckd as 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 bash

Verify installation:

bck --server http://127.0.0.1:9440 status      # daemon health + stats
curl http://127.0.0.1:9440/api/v1/dashboard/stats

CLI

# 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 --tail

Enterprise management commands (SOBR, cloud, M365, DR, tenants, portal, hypervisors): see bck --help.

Web UI

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).

PWA (Progressive Web App)

Веб-консоль BCK — це повноцінний PWA: встановлюється на телефон/планшет/ПК як окремий застосунок, працює офлайн із закешованими assets через Service Worker (vite-plugin-pwa). Для встановлення відкрийте консоль http://<host>:9440 у браузері та оберіть "Встановити додаток" / "Add to Home Screen".

API

REST endpoints and gRPC service reference: docs/API.md.

Development

# 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 dev

License

MIT

About

Backup & Disaster Recovery for Linux, Windows, macOS. Live demo: https://ajjs1ajjs.github.io/BCK/

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages