All apps · 0 apps
HELBACKUP
Docker app from Kreuzbube88's Repository
Overview
HELBACKUP is a self-hosted backup orchestrator built specifically for Unraid. One container, full control — no cloud dependency, no subscription.
Backup Types:
✓ Flash Drive — Incremental rsync of /boot with SHA-256 verification
✓ Appdata — Optional container stop/start, Docker config export included
✓ Virtual Machines — Libvirt snapshot, vDisk rsync, XML config export
✓ Docker Images — Save images as .tar archives via Docker API
✓ System Config — Network, users, shares, plugins, disk assignments
Targets:
✓ Remote NAS / Server — SSH + Rsync with optional strict host-key pinning
✓ Local Filesystem — Direct path on the Unraid array
✓ NAS Power Management — Wake-on-LAN before backup, auto-shutdown after
Job Engine:
✓ Visual Job Builder — Drag-and-drop step ordering with dependency graph
✓ Retry Logic — Linear or exponential backoff per step
✓ Pre/Post Hook Scripts — Run custom scripts around backup jobs
✓ Catch-Up on Start — Runs missed schedules after container restart
✓ Checksum Verification — SHA-256 validation for all backup files
Retention:
✓ Simple Retention — Keep last N backups with configurable minimum
✓ GFS Rotation — Grandfather-Father-Son: Daily / Weekly / Monthly, saves up to 90% storage
Security & Encryption:
✓ AES-256 Encryption — Optional end-to-end GPG encryption with recovery key
✓ First-Run Setup — No default passwords, admin account created on first access
✓ API Tokens — Scoped tokens with optional expiry
✓ Webhooks — HMAC-signed event delivery
Recovery:
✓ Granular File Restore — Browse and restore individual files or directories
✓ Full Server Restore Wizard — Step-by-step guided recovery for all backup types
✓ Flash Drive Restore — Complete /boot restoration with confirmation guard
Monitoring & Notifications:
✓ 7 Notification Channels — Email, Gotify, ntfy, Pushover, Telegram, Discord, Slack
✓ Live Logs — Real-time backup progress via SSE stream
✓ Dashboard — System status, per-target storage, 30-day history chart
✓ Prometheus Metrics — Ready-made monitoring integration
✓ German & English UI — Full i18n support
First-Time Setup:
- Install the container
- Open the Web UI
- Create your admin account
- Save your Recovery Key (shown once!)
- Follow the onboarding wizard to create your first backup
Documentation: https://github.com/Kreuzbube88/helbackup
Readme
View on GitHub
Intelligent Backup Orchestrator for Unraid
🇩🇪 Deutsch | 🇬🇧 English
HELBACKUP is a self-hosted backup solution built specifically for Unraid. It runs as a single Docker container and gives you full control over what gets backed up, when, and where — with a clean web interface, no cloud dependency, and no subscription.
Features
- Automated Backup Jobs — Flash Drive, Appdata, VMs, Docker Images, System Config
- Multiple Target Types — Local filesystem, remote server or NAS via SSH+Rsync
- AES-256 Encryption — Optional end-to-end encryption with recovery key
- GFS Retention — Grandfather-Father-Son rotation saves up to 90% storage
- Disaster Recovery — Granular file restore and full server restore wizard
- Onboarding Wizard — Get your first backup running in minutes with the guided setup
- 7 Notification Channels — Email, Gotify, ntfy, Pushover, Telegram, Discord, Slack
- REST API & Webhooks — Token-based API, HMAC-signed webhook events
- Prometheus Metrics — Ready-made monitoring integration
- Dark UI — React 18 web interface, available in German and English
Installation
Unraid Community Apps (recommended)
- Open the Apps tab in Unraid
- Search for HELBACKUP
- Click Install and follow the template
HELBACKUP will be available at http://YOUR-UNRAID-IP:3000.
Docker Compose
services:
helbackup:
image: ghcr.io/kreuzbube88/helbackup:latest
container_name: helbackup
restart: unless-stopped
privileged: false
ports:
- "3000:3000"
environment:
- JWT_SECRET=your_secret_here # openssl rand -hex 32
- SECURE_COOKIES=false # true when using HTTPS via reverse proxy
- TZ=Europe/Berlin
- LOG_LEVEL=info
- PUID=99
- PGID=100
- LIBVIRT_DEFAULT_URI=qemu:///system
volumes:
- /mnt/user/appdata/helbackup/config:/app/config
- /mnt/user/appdata/helbackup/data:/app/data
- /mnt/user/appdata/helbackup/logs:/app/logs
- /var/run/docker.sock:/var/run/docker.sock
- /boot:/unraid/boot # rw — required for Flash backup/restore
- /mnt/user:/unraid/user # rw — required for Appdata/VM backup/restore
# Optional — required for VM backups:
# - /mnt/cache:/mnt/cache:ro
# - /etc/libvirt:/unraid/libvirt:ro
# - /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock
Quick Start
After installation, open the web UI and follow the onboarding wizard — it walks you through creating your first backup target and job in under 5 minutes. You can also launch it anytime via the Quick Start Guide button on the Dashboard.
Documentation
Full documentation is available in the docs/ folder in both German and English, covering installation, backup types, targets, encryption, recovery, API, and more.
For a technical deep-dive into the architecture, data flow, and security model, see docs/architecture.md.
Requirements
- Docker socket
/var/run/docker.sock— required for container stop/start during backups - Host mounts
/bootand/mnt/user— required for Flash Drive and Appdata/VM restore - Network access — required for remote targets (SSH/Rsync), Wake-on-LAN
- VM backups (optional): Libvirt socket
/var/run/libvirt/libvirt-sockand config mount/etc/libvirt— required for VM stop/start and XML export - Community Apps plugin (only required for store installation)
Verified Restore
A backup is not a backup until you have restored from it.
Creating backup jobs is only the first step. Before you need it in an emergency, test the full recovery path:
- Run a backup job and let it complete
- Go to Recovery and run Verify Backup — confirms checksums match
- At least once, follow Disaster Recovery — Day Zero end-to-end on a test machine or in a VM
3-2-1 rule: Keep 3 copies of your data, on 2 different media types, with 1 copy offsite (or at minimum on a separate NAS from your primary array).
HELBACKUP supports this pattern with multiple targets per job — assign a local target and an off-site SSH/Rsync target to the same job.
License
MIT © HEL*Apps
Install HELBACKUP on Unraid in a few clicks.
Find HELBACKUP in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/kreuzbube88/helbackup:latestRuntime arguments
- Web UI
http://[IP]:[PORT:3000]- Network
br0- Shell
sh- Privileged
- false
Template configuration
Port for the HELBACKUP web interface
- Target
- 3000
- Default
- 3000
- Value
- 3000
SSH keys and application config
- Target
- /app/config
- Default
- /mnt/user/appdata/helbackup/config
- Value
- /mnt/user/appdata/helbackup/config
SQLite database
- Target
- /app/data
- Default
- /mnt/user/appdata/helbackup/data
- Value
- /mnt/user/appdata/helbackup/data
Application logs
- Target
- /app/logs
- Default
- /mnt/user/appdata/helbackup/logs
- Value
- /mnt/user/appdata/helbackup/logs
Docker socket for container management (stop/start during backups)
- Target
- /var/run/docker.sock
- Default
- /var/run/docker.sock
- Value
- /var/run/docker.sock
⚠️ Unraid USB flash drive (READ-WRITE for automated Flash restore). PROTECTED: Write operations only allowed during explicit restore sessions with multi-step confirmation!
- Target
- /unraid/boot
- Default
- /boot
- Value
- /boot
⚠️ Unraid user array (READ-WRITE for automated restore). PROTECTED: Write operations only allowed during explicit restore sessions with multi-step confirmation!
- Target
- /unraid/user
- Default
- /mnt/user
- Value
- /mnt/user
⚠️ Unraid cache drive (READ-WRITE for restore). Required if appdata or VM disks live on cache (/mnt/cache/appdata/, /mnt/cache/domains/).
- Target
- /unraid/cache
- Default
- /mnt/cache
- Value
- /mnt/cache
⚠️ VM configurations (READ-WRITE for restore). Required for VM backup and restore. Remove if you don't use virtual machines.
- Target
- /unraid/libvirt
- Default
- /etc/libvirt
- Value
- /etc/libvirt
Libvirt Unix socket. Required for VM live snapshot support during backup. Only available when libvirt is running on the host — remove if not using VMs.
- Target
- /var/run/libvirt/libvirt-sock
- Default
- /var/run/libvirt/libvirt-sock
- Value
- /var/run/libvirt/libvirt-sock
Libvirt connection URI for VM management. Do not change unless your libvirt setup uses a different URI.
- Default
- qemu:///system
- Value
- qemu:///system
Required: Random secret for authentication. Generate with: openssl rand -hex 32
Set to false for local HTTP access. Set to true when using HTTPS via reverse proxy.
- Default
- false
- Value
- false
Timezone for scheduled backups (e.g., Europe/Berlin, America/New_York)
- Default
- Europe/Berlin
- Value
- Europe/Berlin
Log verbosity: debug, info, warn, error
- Default
- info
- Value
- info
User ID for file permissions (Unraid default: 99)
- Default
- 99
- Value
- 99
Group ID for file permissions (Unraid default: 100)
- Default
- 100
- Value
- 100