HELBACKUP

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:

  1. Install the container
  2. Open the Web UI
  3. Create your admin account
  4. Save your Recovery Key (shown once!)
  5. Follow the onboarding wizard to create your first backup

Documentation: https://github.com/Kreuzbube88/helbackup

HELBACKUP

Intelligent Backup Orchestrator for Unraid

🇩🇪 Deutsch  |  🇬🇧 English

Status Node.js License Platform


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)

  1. Open the Apps tab in Unraid
  2. Search for HELBACKUP
  3. 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 /boot and /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-sock and 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:

  1. Run a backup job and let it complete
  2. Go to Recovery and run Verify Backup — confirms checksums match
  3. 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.

Open the Apps tab on your Unraid server Search Community Apps for HELBACKUP Review the template variables and paths Click Install

Categories

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/kreuzbube88/helbackup:latest
Last Updated2026-07-15
First Seen2026-04-09

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
br0
Shell
sh
Privileged
false

Template configuration

Web UI PortPorttcp

Port for the HELBACKUP web interface

Target
3000
Default
3000
Value
3000
ConfigPathrw

SSH keys and application config

Target
/app/config
Default
/mnt/user/appdata/helbackup/config
Value
/mnt/user/appdata/helbackup/config
DataPathrw

SQLite database

Target
/app/data
Default
/mnt/user/appdata/helbackup/data
Value
/mnt/user/appdata/helbackup/data
LogsPathrw

Application logs

Target
/app/logs
Default
/mnt/user/appdata/helbackup/logs
Value
/mnt/user/appdata/helbackup/logs
Docker SocketPathrw

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 Flash DrivePathrw

⚠️ 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
Host System (Restore)Pathrw

⚠️ 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
Cache DrivePathrw

⚠️ 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
Libvirt ConfigsPathro

⚠️ 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 SocketPathrw

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_DEFAULT_URIVariable

Libvirt connection URI for VM management. Do not change unless your libvirt setup uses a different URI.

Default
qemu:///system
Value
qemu:///system
JWT_SECRETVariable

Required: Random secret for authentication. Generate with: openssl rand -hex 32

SECURE_COOKIESVariable

Set to false for local HTTP access. Set to true when using HTTPS via reverse proxy.

Default
false
Value
false
TZVariable

Timezone for scheduled backups (e.g., Europe/Berlin, America/New_York)

Default
Europe/Berlin
Value
Europe/Berlin
LOG_LEVELVariable

Log verbosity: debug, info, warn, error

Default
info
Value
info
PUIDVariable

User ID for file permissions (Unraid default: 99)

Default
99
Value
99
PGIDVariable

Group ID for file permissions (Unraid default: 100)

Default
100
Value
100