Skip to content

Latest commit

Β 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ DaliBackup-OSS

Enterprise-Grade Sovereign Backup & Disaster Recovery Engine

Release CI/CD Pipeline Snyk Security License TypeScript Node.js Docker


DaliBackup-OSS is an open-source, sovereign, lightweight, single-user backup, replication, and disaster recovery orchestration platform.
Designed for sysadmins, DevOps, and enterprises managing Microsoft Hyper-V, Proxmox VE (QEMU & LXC), and IMAP Email Mailboxes, writing directly to POSIX/NFS, SFTP (SSH), and FTP/FTPS storage destinations.

Explore Documentation Β· Contributing Guide Β· Report an Issue Β· Official Website


🌟 Executive Overview & Key Pillars

⚑ Ultra-Lightweight & Zero-Bloat

  • Zero Heavy Infrastructure : Runs with embedded, synchronous SQLite (DatabaseSync), requiring no external MariaDB, Redis, or MinIO dependencies.
  • Single-User Zero-Trust Security : Cleaned of all paywalls, licensing tiers, and multi-tenant overhead for an instant, friction-free deployment.
  • Self-Contained Single Binary / Container : Fast start-up time (< 200ms) with minimal RAM footprint (< 80 Mo).

πŸ–₯️ Native Hypervisors & Mailbox Protection

  • Microsoft Hyper-V Engine : Continuous streaming GZip compression (DaliStreamCompressor), VSS application-consistent snapshots, multi-disk capture, and 1-click disaster recovery.
  • Proxmox VE QEMU & LXC Engine : Direct integration via Proxmox REST API 2.0 and native vzdump hook orchestration.
  • Universal IMAP Mail Engine : Incremental email synchronization with UID tracking and .tar.gz export.

πŸ“‚ Multi-Protocol Sovereign Storage

  • NFS & Local Mounts : Direct POSIX high-throughput block writing with zero-copy stream piping.
  • SFTP (SSH v2) : Encrypted transfers with password or SSH private key authentication.
  • FTP / FTPS : Standard and TLS-encrypted file transfers.

πŸ”’ Enterprise Security & CryptoVault

  • AES-256-GCM Hardware Encryption : Hypervisor API tokens, passwords, and private keys encrypted at rest.
  • Hardware-Isolated Agents : Host-isolated atomic claiming preventing task cross-contamination.
  • Built-in Auto-Signed & Custom SSL : Automatic HTTPS certificate generation and HTTPS enforcement (HTTP 308 redirect).

πŸ—οΈ Architectural Topology

                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                      β”‚             DaliBackup-OSS Control Plane        β”‚
                      β”‚                                                 β”‚
                      β”‚   [ Express TypeScript REST API / HTTPS 3443 ]  β”‚
                      β”‚         β”‚                   β”‚                   β”‚
                      β”‚         β–Ό                   β–Ό                   β”‚
                      β”‚    Embedded SQLite    CryptoVault AES-256-GCM   β”‚
                      β”‚   (dalibackup.db)       (Secrets at Rest)       β”‚
                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚                    β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                      β”‚                    β”‚                      β”‚
        β–Ό                      β–Ό                    β–Ό                      β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Microsoft        β”‚ β”‚ Proxmox VE       β”‚ β”‚ IMAP Mailboxes   β”‚ β”‚ Target Storage   β”‚
β”‚ Hyper-V Server   β”‚ β”‚ Cluster / Node   β”‚ β”‚ (Universal IMAP) β”‚ β”‚ Destinations     β”‚
β”‚                  β”‚ β”‚                  β”‚ β”‚                  β”‚ β”‚                  β”‚
β”‚ β€’ VSS Snapshots  β”‚ β”‚ β€’ QEMU KVM VMs   β”‚ β”‚ β€’ UID Sync State β”‚ β”‚ β€’ NFS / Local    β”‚
β”‚ β€’ VHDX Streaming β”‚ β”‚ β€’ LXC Containers β”‚ β”‚ β€’ GZip Tarball   β”‚ β”‚ β€’ SFTP (SSH key) β”‚
β”‚ β€’ Service Daemon β”‚ β”‚ β€’ vzdump Hook    β”‚ β”‚ β€’ SSL/TLS 993    β”‚ β”‚ β€’ FTP / FTPS     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start & Deployment

Method 1: Instant Docker Compose (Recommended)

# 1. Clone the repository
git clone git@github.com:daliranas/DaliBackup-OSS.git
cd DaliBackup-OSS

# 2. Launch the container stack
docker-compose up -d --build

Access the modern Web Console at https://localhost:3443 (or http://localhost:3000).


Method 2: Native Node.js Deployment

Prerequisites

  • Node.js >= 20.x or 22.x LTS
  • npm >= 9.x
# 1. Clone & install dependencies
git clone git@github.com:daliranas/DaliBackup-OSS.git
cd DaliBackup-OSS
npm install

# 2. Configure environment variables
cp .env.example .env

# 3. Build & launch
npm run build
npm start

Method 3: Linux Systemd Service Installation

Create /etc/systemd/system/dalibackup-oss.service :

[Unit]
Description=DaliBackup OSS Sovereign Engine
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/dalibackup-oss
ExecStart=/usr/bin/node dist/server.js
Restart=always
RestartSec=5
Environment=NODE_ENV=production
Environment=PORT=3000
Environment=SSL_PORT=3443

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now dalibackup-oss.service

πŸ’» Hyper-V Agent & Windows Service Deployment

DaliBackup-OSS provides dedicated PowerShell automation agents in agents/hyperv/ :

1. Permanent Windows Service Installation (NSSM)

On your Microsoft Hyper-V host (Windows Server 2016 / 2019 / 2022 / 2025) :

# Open PowerShell as Administrator
cd C:\DaliBackup\agents\hyperv
.\Setup-NSSM-Service.ps1 -ServerUrl "https://backup.daliranas.fr" -ApiToken "YOUR_AGENT_TOKEN"

2. Standalone Interactive Service Daemon

.\HyperVBackupService.ps1 -ServerUrl "https://backup.daliranas.fr" -ApiToken "YOUR_AGENT_TOKEN" -PollIntervalSeconds 15

3. One-Click Disaster Recovery & Restore

# Restore as a New VM (Sandbox / SureBoot)
.\HyperVRestoreAgent.ps1 -ServerUrl "https://backup.daliranas.fr" -ApiToken "YOUR_AGENT_TOKEN" -JobId "JOB_UUID" -RestoreMode "NEW_VM" -AutoStart

# Disaster Recovery: In-Place Disk Overwrite
.\HyperVRestoreAgent.ps1 -ServerUrl "https://backup.daliranas.fr" -ApiToken "YOUR_AGENT_TOKEN" -JobId "JOB_UUID" -RestoreMode "OVERWRITE_DISK"

πŸ“‘ REST API Reference

All requests must include the header Authorization: Bearer <TOKEN> (Admin JWT or Agent Machine Token).

Method Endpoint Access Description
POST /api/auth/login Public Authenticate admin user and receive JWT session
GET /api/jobs Admin List all configured backup jobs across hypervisors and mail
POST /api/jobs Admin Create a new backup schedule & retention policy
POST /api/jobs/:id/run Admin Trigger immediate backup execution (1-Click Run)
GET /api/restore-points Admin List all backup archives and restore points
POST /api/restore-points/:id/restore Admin Trigger disaster recovery / instant VM reconstruction
GET /api/hypervisors/agent/tasks Agent Atomic claiming of pending backup and restore tasks
POST /api/hypervisors/agent/upload/:taskId Agent Stream raw compressed VHDX disk byte streams
GET /api/health Public System health check and engine status

πŸ§ͺ Automated Test Suite & Verification

DaliBackup-OSS includes an end-to-end automated test suite verifying AES-256-GCM cryptography, atomic claiming, multi-disk idempotence, and VM manifest reconstruction :

npx ts-node tests/runTests.ts
πŸ§ͺ DΓ©marrage de la suite de tests DaliBackup (Environnement 100% IsolΓ©)...

1. Test CryptoVault (Chiffrement / DΓ©chiffrement AES-256-GCM)...
   βœ… CryptoVault validΓ© avec succΓ¨s.
2. Test SΓ©curitΓ© Authentification & Tokens Dynamiques...
   βœ… Tokens dynamiques et JWT validΓ©s.
3. Test Claiming Atomique & Isolation Stricte par HΓ΄te...
   βœ… Claiming atomique et isolation par hΓ΄te validΓ©s.
4. Test Moteur Hyper-V Multi-Disques & Idempotence de Re-tΓ©lΓ©versement...
   βœ… Multi-disques & Idempotence validΓ©s.
5. Test Nettoyage Automatique sur Γ‰chec Partiel (Anti-Fuite Stockage)...
   βœ… Purge automatique sur Γ©chec partiel validΓ©e.
6. Test Restauration Exacte avec Manifeste (Reconstruction MatΓ©rielle)...
   βœ… Pipeline de restauration exacte de VM validΓ©.
7. Test RΓ©tention Multi-Disques...
   βœ… Moteur de rΓ©tention multi-disques validΓ©.
8. Test Moteur E-mail IMAP (CryptoVault, Sync State & RΓ©tention)...
   βœ… Moteur E-mail IMAP validΓ© avec succΓ¨s.

πŸŽ‰ TOUS LES TESTS SONT PASSΓ‰S AVEC SUCCÈS ! (100% OK)

πŸ›‘οΈ Security & Compliance

  • Zero-Trust Network Isolation : Hostnames strictly bound to tasks to prevent rogue agent claiming.
  • Shannon Entropy Analysis Ready : Designed for uncompressed / pre-compressed ransomware anomaly detection.
  • Data Protection at Rest : Secrets never written in plaintext to SQLite.

πŸ“œ Legal, Authorship & License

Developed with passion by Bastien LANGUEDOC (Daliranas).
Official Website : https://daliranas.fr

Distributed under the DaliBackup OSS License (Open Source Software Edition).
Refer to LICENSE and NOTICE for full terms.

Restrictions : Strictly forbidden to sell, resell, or monetize this software in any commercial package. Preservation of project branding DaliBackup is mandatory.

About

πŸ›‘οΈ Sovereign, lightweight backup & disaster recovery engine for Microsoft Hyper-V, Proxmox VE (QEMU/LXC) & IMAP. Zero-bloat, embedded SQLite, AES-256-GCM & Docker-ready.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages