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
|
|
|
|
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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 β
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
# 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 --buildAccess the modern Web Console at https://localhost:3443 (or http://localhost:3000).
- 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 startCreate /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.targetsudo systemctl daemon-reload
sudo systemctl enable --now dalibackup-oss.serviceDaliBackup-OSS provides dedicated PowerShell automation agents in agents/hyperv/ :
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".\HyperVBackupService.ps1 -ServerUrl "https://backup.daliranas.fr" -ApiToken "YOUR_AGENT_TOKEN" -PollIntervalSeconds 15# 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"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 |
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)
- 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.
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.