FlowHistory: a backup and restore tool for Node-RED

A self-hosted backup and restore tool for Node-RED flow files. Runs as a Docker container that manages backups for one or more Node-RED instances, local (file-based) or remote (API-based). Automatically detects flow changes, creates compressed backups, and provides a web UI for managing backups, viewing diffs, and restoring.

Features

- Multi-instance support - manage backups for multiple Node-RED instances from a single deployment

- Local and remote instances - watch local files via inotify or poll remote instances via the Node-RED Admin API

- Automatic backups on change - file watching (local) or API polling (remote) with configurable intervals

- Scheduled backups - hourly, daily, or weekly via APScheduler

- Manual backups - one-click from the dashboard

- Visual diff viewer - see which tabs, subflows, and nodes changed between any two backups, with field-level diffs

- One-click restore - restores files (local) or deploys flows via API (remote), optionally restarts the container

- Pre-restore safety backup - always created before overwriting current flows

  • Checksum deduplication - skips backup if flows haven't changed (SHA256)

  • Retention policies - by max count and max age, with protection for pinned and recent safety backups

  • Backup import/export - upload backup archives from other instances or download them for offline storage

  • Credentials and settings backup - optionally include flows_cred.json and settings.js (local only)

  • Labels and notes - annotate backups with descriptions

  • Notifications - alerts via Discord, Slack, Telegram, Pushbullet, or Home Assistant for backup failures, restores, and more

  • Dark mode - with system preference detection and manual toggle

  • Optional password auth - simple shared password via environment variable

  • Health check endpoint - for Docker healthcheck integration

  • Prometheus /metrics endpoint - HTTP and per-instance backup metrics for scraping

Looks good.

I see a lot of people looking at it.

Thought:
Add some screen shots to show what it looks like - from the end user POV.
then maybe some of the workings/flow stuff.

May help.